Commit 3713487c85f4b512ab3e13fcb4c89a14b9ee8d50
1 parent
2628fb55
feat(transition): add transition comp and demo
Showing
5 changed files
with
125 additions
and
20 deletions
CHANGELOG.zh_CN.md
src/components/Transition/index.ts
1 | -// import { | ||
2 | -// // createSimpleTransition, | ||
3 | -// createJavascriptTransition, | ||
4 | -// } from './src/CreateTransition'; | 1 | +import { createSimpleTransition, createJavascriptTransition } from './src/CreateTransition'; |
5 | 2 | ||
6 | -// import ExpandTransitionGenerator from './src/ExpandTransition'; | 3 | +import ExpandTransitionGenerator from './src/ExpandTransition'; |
7 | 4 | ||
8 | export { default as CollapseTransition } from './src/CollapseTransition'; | 5 | export { default as CollapseTransition } from './src/CollapseTransition'; |
9 | // export { default as CollapseTransition } from './src/CollapseTransition'; | 6 | // export { default as CollapseTransition } from './src/CollapseTransition'; |
10 | 7 | ||
11 | -// export const FadeTransition = createSimpleTransition('fade-transition'); | ||
12 | -// export const ScaleTransition = createSimpleTransition('scale-transition'); | ||
13 | -// export const SlideYTransition = createSimpleTransition('slide-y-transition'); | ||
14 | -// export const ScrollYTransition = createSimpleTransition('scroll-y-transition'); | ||
15 | -// export const SlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition'); | ||
16 | -// export const ScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition'); | ||
17 | -// export const SlideXTransition = createSimpleTransition('slide-x-transition'); | ||
18 | -// export const ScrollXTransition = createSimpleTransition('scroll-x-transition'); | ||
19 | -// export const SlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition'); | ||
20 | -// export const ScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition'); | ||
21 | -// export const ScaleRotateTransition = createSimpleTransition('scale-rotate-transition'); | 8 | +export const FadeTransition = createSimpleTransition('fade-transition'); |
9 | +export const ScaleTransition = createSimpleTransition('scale-transition'); | ||
10 | +export const SlideYTransition = createSimpleTransition('slide-y-transition'); | ||
11 | +export const ScrollYTransition = createSimpleTransition('scroll-y-transition'); | ||
12 | +export const SlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition'); | ||
13 | +export const ScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition'); | ||
14 | +export const SlideXTransition = createSimpleTransition('slide-x-transition'); | ||
15 | +export const ScrollXTransition = createSimpleTransition('scroll-x-transition'); | ||
16 | +export const SlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition'); | ||
17 | +export const ScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition'); | ||
18 | +export const ScaleRotateTransition = createSimpleTransition('scale-rotate-transition'); | ||
22 | 19 | ||
23 | // Javascript transitions | 20 | // Javascript transitions |
24 | // export const ExpandTransition = createJavascriptTransition( | 21 | // export const ExpandTransition = createJavascriptTransition( |
@@ -26,9 +23,9 @@ export { default as CollapseTransition } from './src/CollapseTransition'; | @@ -26,9 +23,9 @@ export { default as CollapseTransition } from './src/CollapseTransition'; | ||
26 | // ExpandTransitionGenerator() | 23 | // ExpandTransitionGenerator() |
27 | // ); | 24 | // ); |
28 | 25 | ||
29 | -// export const ExpandXTransition = createJavascriptTransition( | ||
30 | -// 'expand-x-transition', | ||
31 | -// ExpandTransitionGenerator('', true) | ||
32 | -// ); | 26 | +export const ExpandXTransition = createJavascriptTransition( |
27 | + 'expand-x-transition', | ||
28 | + ExpandTransitionGenerator('', true) | ||
29 | +); | ||
33 | 30 | ||
34 | export { default as ExpandTransition } from './src/ExpandTransition.vue'; | 31 | export { default as ExpandTransition } from './src/ExpandTransition.vue'; |
src/router/menus/modules/demo/comp.ts
src/router/routes/modules/demo/comp.ts
@@ -24,6 +24,14 @@ export default { | @@ -24,6 +24,14 @@ export default { | ||
24 | }, | 24 | }, |
25 | }, | 25 | }, |
26 | { | 26 | { |
27 | + path: '/transition', | ||
28 | + name: 'transitionDemo', | ||
29 | + component: () => import('/@/views/demo/comp/transition/index.vue'), | ||
30 | + meta: { | ||
31 | + title: '动画组件', | ||
32 | + }, | ||
33 | + }, | ||
34 | + { | ||
27 | path: '/countTo', | 35 | path: '/countTo', |
28 | name: 'CountTo', | 36 | name: 'CountTo', |
29 | component: () => import('/@/views/demo/comp/count-to/index.vue'), | 37 | component: () => import('/@/views/demo/comp/count-to/index.vue'), |
src/views/demo/comp/transition/index.vue
0 → 100644
1 | +<template> | ||
2 | + <div class="p-4"> | ||
3 | + <div class="flex"> | ||
4 | + <Select | ||
5 | + :options="options" | ||
6 | + v-model:value="value" | ||
7 | + placeholder="选择动画" | ||
8 | + :style="{ width: '150px' }" | ||
9 | + /> | ||
10 | + <a-button type="primary" class="ml-4" @click="start"> start </a-button> | ||
11 | + </div> | ||
12 | + <component :is="`${value}Transition`"> | ||
13 | + <div class="box" v-show="show"></div> | ||
14 | + </component> | ||
15 | + </div> | ||
16 | +</template> | ||
17 | +<script lang="ts"> | ||
18 | + import { defineComponent, ref } from 'vue'; | ||
19 | + import { Select } from 'ant-design-vue'; | ||
20 | + import { | ||
21 | + FadeTransition, | ||
22 | + ScaleTransition, | ||
23 | + SlideYTransition, | ||
24 | + ScrollYTransition, | ||
25 | + SlideYReverseTransition, | ||
26 | + ScrollYReverseTransition, | ||
27 | + SlideXTransition, | ||
28 | + ScrollXTransition, | ||
29 | + SlideXReverseTransition, | ||
30 | + ScrollXReverseTransition, | ||
31 | + ScaleRotateTransition, | ||
32 | + ExpandXTransition, | ||
33 | + ExpandTransition, | ||
34 | + } from '/@/components/Transition/index'; | ||
35 | + | ||
36 | + const transitionList = [ | ||
37 | + 'Fade', | ||
38 | + 'Scale', | ||
39 | + 'SlideY', | ||
40 | + 'ScrollY', | ||
41 | + 'SlideYReverse', | ||
42 | + 'ScrollYReverse', | ||
43 | + 'SlideX', | ||
44 | + 'ScrollX', | ||
45 | + 'SlideXReverse', | ||
46 | + 'ScrollXReverse', | ||
47 | + 'ScaleRotate', | ||
48 | + 'ExpandX', | ||
49 | + 'Expand', | ||
50 | + ]; | ||
51 | + const options = transitionList.map((item) => ({ | ||
52 | + label: item, | ||
53 | + value: item, | ||
54 | + key: item, | ||
55 | + })); | ||
56 | + | ||
57 | + export default defineComponent({ | ||
58 | + components: { | ||
59 | + Select, | ||
60 | + FadeTransition, | ||
61 | + ScaleTransition, | ||
62 | + | ||
63 | + SlideYTransition, | ||
64 | + ScrollYTransition, | ||
65 | + SlideYReverseTransition, | ||
66 | + ScrollYReverseTransition, | ||
67 | + SlideXTransition, | ||
68 | + ScrollXTransition, | ||
69 | + SlideXReverseTransition, | ||
70 | + ScrollXReverseTransition, | ||
71 | + ScaleRotateTransition, | ||
72 | + ExpandXTransition, | ||
73 | + ExpandTransition, | ||
74 | + }, | ||
75 | + setup() { | ||
76 | + const value = ref('Fade'); | ||
77 | + const show = ref(true); | ||
78 | + function start() { | ||
79 | + show.value = false; | ||
80 | + setTimeout(() => { | ||
81 | + show.value = true; | ||
82 | + }, 300); | ||
83 | + } | ||
84 | + return { options, value, start, show }; | ||
85 | + }, | ||
86 | + }); | ||
87 | +</script> | ||
88 | +<style lang="less" scoped> | ||
89 | + .box { | ||
90 | + width: 150px; | ||
91 | + height: 150px; | ||
92 | + margin-top: 20px; | ||
93 | + background: pink; | ||
94 | + } | ||
95 | +</style> |