| | |
| | | /> |
| | | <a-button type="primary" class="ml-4" @click="start"> start </a-button> |
| | | </div> |
| | | <component :is="`${value}Transition`"> |
| | | <component :is="TransitionItem[value]"> |
| | | <div class="box" v-show="show"></div> |
| | | </component> |
| | | </PageWrapper> |
| | | </template> |
| | | <script lang="ts"> |
| | | import { defineComponent, ref } from 'vue'; |
| | | <script lang="ts" setup> |
| | | import { ref } from 'vue'; |
| | | import { Select } from 'ant-design-vue'; |
| | | import { PageWrapper } from '/@/components/Page'; |
| | | import { PageWrapper } from '@/components/Page'; |
| | | import { |
| | | FadeTransition, |
| | | ScaleTransition, |
| | |
| | | ScaleRotateTransition, |
| | | ExpandXTransition, |
| | | ExpandTransition, |
| | | } from '/@/components/Transition'; |
| | | } from '@/components/Transition'; |
| | | |
| | | const transitionList = [ |
| | | 'Fade', |
| | | 'Scale', |
| | | 'SlideY', |
| | | 'ScrollY', |
| | | 'SlideYReverse', |
| | | 'ScrollYReverse', |
| | | 'SlideX', |
| | | 'ScrollX', |
| | | 'SlideXReverse', |
| | | 'ScrollXReverse', |
| | | 'ScaleRotate', |
| | | 'ExpandX', |
| | | 'Expand', |
| | | ]; |
| | | const options = transitionList.map((item) => ({ |
| | | label: item, |
| | | value: item, |
| | | key: item, |
| | | })); |
| | | const TransitionItem = { |
| | | FadeTransition, |
| | | ScaleTransition, |
| | | SlideYTransition, |
| | | ScrollYTransition, |
| | | SlideYReverseTransition, |
| | | ScrollYReverseTransition, |
| | | SlideXTransition, |
| | | ScrollXTransition, |
| | | SlideXReverseTransition, |
| | | ScrollXReverseTransition, |
| | | ScaleRotateTransition, |
| | | ExpandXTransition, |
| | | ExpandTransition, |
| | | }; |
| | | |
| | | export default defineComponent({ |
| | | components: { |
| | | Select, |
| | | PageWrapper, |
| | | FadeTransition, |
| | | ScaleTransition, |
| | | SlideYTransition, |
| | | ScrollYTransition, |
| | | SlideYReverseTransition, |
| | | ScrollYReverseTransition, |
| | | SlideXTransition, |
| | | ScrollXTransition, |
| | | SlideXReverseTransition, |
| | | ScrollXReverseTransition, |
| | | ScaleRotateTransition, |
| | | ExpandXTransition, |
| | | ExpandTransition, |
| | | }, |
| | | setup() { |
| | | const value = ref('Fade'); |
| | | const show = ref(true); |
| | | function start() { |
| | | show.value = false; |
| | | setTimeout(() => { |
| | | show.value = true; |
| | | }, 300); |
| | | } |
| | | return { options, value, start, show }; |
| | | }, |
| | | const options = Object.keys(TransitionItem).map((item) => { |
| | | const label = item.replace('Transition', ''); |
| | | return { |
| | | label, |
| | | value: item, |
| | | key: item, |
| | | }; |
| | | }); |
| | | |
| | | const value = ref('FadeTransition'); |
| | | const show = ref(true); |
| | | function start() { |
| | | show.value = false; |
| | | setTimeout(() => { |
| | | show.value = true; |
| | | }, 300); |
| | | } |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .box { |