import { h, defineComponent, withDirectives, resolveDirective } from 'vue'; /** 封装@vueuse/motion动画库中的自定义指令v-motion */ export default defineComponent({ name: 'Motion', props: { delay: { type: Number, default: 50, }, }, render() { const { delay } = this; const motion = resolveDirective('motion'); return withDirectives( h( 'div', {}, { default: () => [this.$slots.default()], } ), [ [ motion, { initial: { opacity: 0, y: 100 }, enter: { opacity: 1, y: 0, transition: { delay, }, }, }, ], ] ); }, });