| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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
- }
- }
- }
- ]
- ]
- );
- }
- });
|