| | |
| | | <RedoOutlined :spin="loading" /> |
| | | </span> |
| | | </template> |
| | | <script lang="ts"> |
| | | import { defineComponent, ref } from 'vue'; |
| | | <script lang="ts" setup> |
| | | import { ref } from 'vue'; |
| | | import { RedoOutlined } from '@ant-design/icons-vue'; |
| | | import { useDesign } from '/@/hooks/web/useDesign'; |
| | | import { useTabs } from '/@/hooks/web/useTabs'; |
| | | import { useDesign } from '@/hooks/web/useDesign'; |
| | | import { useTabs } from '@/hooks/web/useTabs'; |
| | | |
| | | export default defineComponent({ |
| | | name: 'TabRedo', |
| | | components: { RedoOutlined }, |
| | | defineOptions({ name: 'TabRedo' }); |
| | | |
| | | setup() { |
| | | const loading = ref(false); |
| | | const loading = ref(false); |
| | | |
| | | const { prefixCls } = useDesign('multiple-tabs-content'); |
| | | const { refreshPage } = useTabs(); |
| | | const { prefixCls } = useDesign('multiple-tabs-content'); |
| | | const { refreshPage } = useTabs(); |
| | | |
| | | async function handleRedo() { |
| | | loading.value = true; |
| | | await refreshPage(); |
| | | setTimeout(() => { |
| | | loading.value = false; |
| | | // Animation execution time |
| | | }, 1200); |
| | | } |
| | | return { prefixCls, handleRedo, loading }; |
| | | }, |
| | | }); |
| | | async function handleRedo() { |
| | | loading.value = true; |
| | | await refreshPage(); |
| | | setTimeout(() => { |
| | | loading.value = false; |
| | | // Animation execution time |
| | | }, 1200); |
| | | } |
| | | </script> |
| | | <style lang="less" scoped> |
| | | span.anticon-redo { |
| | | vertical-align: baseline !important; |
| | | } |
| | | </style> |