Commit c6e5c0f5f17bc678fb4c613533b78ad04e1510bd

Authored by jinmao88
1 parent ca997c15

perf: 组件修改为setup

src/layouts/default/header/index.vue
@@ -60,19 +60,16 @@ @@ -60,19 +60,16 @@
60 import { propTypes } from '/@/utils/propTypes'; 60 import { propTypes } from '/@/utils/propTypes';
61 61
62 import { Layout } from 'ant-design-vue'; 62 import { Layout } from 'ant-design-vue';
63 - import { AppLogo } from '/@/components/Application'; 63 + import { AppLogo, AppSearch, AppLocalePicker } from '/@/components/Application';
64 import LayoutMenu from '../menu/index.vue'; 64 import LayoutMenu from '../menu/index.vue';
65 import LayoutTrigger from '../trigger/index.vue'; 65 import LayoutTrigger from '../trigger/index.vue';
66 66
67 - import { AppSearch } from '/@/components/Application';  
68 -  
69 import { useHeaderSetting } from '/@/hooks/setting/useHeaderSetting'; 67 import { useHeaderSetting } from '/@/hooks/setting/useHeaderSetting';
70 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; 68 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
71 import { useRootSetting } from '/@/hooks/setting/useRootSetting'; 69 import { useRootSetting } from '/@/hooks/setting/useRootSetting';
72 70
73 import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum'; 71 import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum';
74 import { SettingButtonPositionEnum } from '/@/enums/appEnum'; 72 import { SettingButtonPositionEnum } from '/@/enums/appEnum';
75 - import { AppLocalePicker } from '/@/components/Application';  
76 73
77 import { UserDropDown, LayoutBreadcrumb, FullScreen, Notify, ErrorAction } from './components'; 74 import { UserDropDown, LayoutBreadcrumb, FullScreen, Notify, ErrorAction } from './components';
78 import { useAppInject } from '/@/hooks/web/useAppInject'; 75 import { useAppInject } from '/@/hooks/web/useAppInject';
src/layouts/default/sider/LayoutSider.vue
@@ -31,15 +31,13 @@ @@ -31,15 +31,13 @@
31 import { Layout } from 'ant-design-vue'; 31 import { Layout } from 'ant-design-vue';
32 import LayoutMenu from '../menu/index.vue'; 32 import LayoutMenu from '../menu/index.vue';
33 import LayoutTrigger from '/@/layouts/default/trigger/index.vue'; 33 import LayoutTrigger from '/@/layouts/default/trigger/index.vue';
34 -  
35 import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum'; 34 import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum';
36 -  
37 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; 35 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
38 import { useTrigger, useDragLine, useSiderEvent } from './useLayoutSider'; 36 import { useTrigger, useDragLine, useSiderEvent } from './useLayoutSider';
39 import { useAppInject } from '/@/hooks/web/useAppInject'; 37 import { useAppInject } from '/@/hooks/web/useAppInject';
40 import { useDesign } from '/@/hooks/web/useDesign'; 38 import { useDesign } from '/@/hooks/web/useDesign';
41 -  
42 import DragBar from './DragBar.vue'; 39 import DragBar from './DragBar.vue';
  40 +
43 export default defineComponent({ 41 export default defineComponent({
44 name: 'LayoutSideBar', 42 name: 'LayoutSideBar',
45 components: { Sider: Layout.Sider, LayoutMenu, DragBar, LayoutTrigger }, 43 components: { Sider: Layout.Sider, LayoutMenu, DragBar, LayoutTrigger },
src/layouts/default/trigger/HeaderTrigger.vue
@@ -3,23 +3,15 @@ @@ -3,23 +3,15 @@
3 <MenuUnfoldOutlined v-if="getCollapsed" /> <MenuFoldOutlined v-else /> 3 <MenuUnfoldOutlined v-if="getCollapsed" /> <MenuFoldOutlined v-else />
4 </span> 4 </span>
5 </template> 5 </template>
6 -<script lang="ts">  
7 - import { defineComponent } from 'vue'; 6 +<script lang="ts" setup>
8 import { MenuUnfoldOutlined, MenuFoldOutlined } from '@ant-design/icons-vue'; 7 import { MenuUnfoldOutlined, MenuFoldOutlined } from '@ant-design/icons-vue';
9 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; 8 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
10 import { useDesign } from '/@/hooks/web/useDesign'; 9 import { useDesign } from '/@/hooks/web/useDesign';
11 import { propTypes } from '/@/utils/propTypes'; 10 import { propTypes } from '/@/utils/propTypes';
12 11
13 - export default defineComponent({  
14 - name: 'HeaderTrigger',  
15 - components: { MenuUnfoldOutlined, MenuFoldOutlined },  
16 - props: {  
17 - theme: propTypes.oneOf(['light', 'dark']),  
18 - },  
19 - setup() {  
20 - const { getCollapsed, toggleCollapsed } = useMenuSetting();  
21 - const { prefixCls } = useDesign('layout-header-trigger');  
22 - return { getCollapsed, toggleCollapsed, prefixCls };  
23 - }, 12 + defineProps({
  13 + theme: propTypes.oneOf(['light', 'dark']),
24 }); 14 });
  15 + const { getCollapsed, toggleCollapsed } = useMenuSetting();
  16 + const { prefixCls } = useDesign('layout-header-trigger');
25 </script> 17 </script>
src/layouts/default/trigger/SiderTrigger.vue
@@ -4,18 +4,9 @@ @@ -4,18 +4,9 @@
4 <DoubleLeftOutlined v-else /> 4 <DoubleLeftOutlined v-else />
5 </div> 5 </div>
6 </template> 6 </template>
7 -<script lang="ts">  
8 - import { defineComponent } from 'vue'; 7 +<script lang="ts" setup>
9 import { DoubleRightOutlined, DoubleLeftOutlined } from '@ant-design/icons-vue'; 8 import { DoubleRightOutlined, DoubleLeftOutlined } from '@ant-design/icons-vue';
10 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; 9 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
11 10
12 - export default defineComponent({  
13 - name: 'SiderTrigger',  
14 - components: { DoubleRightOutlined, DoubleLeftOutlined },  
15 - setup() {  
16 - const { getCollapsed, toggleCollapsed } = useMenuSetting();  
17 -  
18 - return { getCollapsed, toggleCollapsed };  
19 - },  
20 - }); 11 + const { getCollapsed, toggleCollapsed } = useMenuSetting();
21 </script> 12 </script>
src/layouts/default/trigger/index.vue
@@ -2,21 +2,14 @@ @@ -2,21 +2,14 @@
2 <SiderTrigger v-if="sider" /> 2 <SiderTrigger v-if="sider" />
3 <HeaderTrigger v-else :theme="theme" /> 3 <HeaderTrigger v-else :theme="theme" />
4 </template> 4 </template>
5 -<script lang="ts">  
6 - import { defineComponent } from 'vue';  
7 - import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; 5 +<script lang="ts"></script>
  6 +<script lang="ts" setup>
8 import { propTypes } from '/@/utils/propTypes'; 7 import { propTypes } from '/@/utils/propTypes';
9 import HeaderTrigger from './HeaderTrigger.vue'; 8 import HeaderTrigger from './HeaderTrigger.vue';
  9 + import SiderTrigger from './SiderTrigger.vue';
10 10
11 - export default defineComponent({  
12 - name: 'LayoutTrigger',  
13 - components: {  
14 - SiderTrigger: createAsyncComponent(() => import('./SiderTrigger.vue')),  
15 - HeaderTrigger: HeaderTrigger,  
16 - },  
17 - props: {  
18 - sider: propTypes.bool.def(true),  
19 - theme: propTypes.oneOf(['light', 'dark']),  
20 - }, 11 + defineProps({
  12 + sider: propTypes.bool.def(true),
  13 + theme: propTypes.oneOf(['light', 'dark']),
21 }); 14 });
22 </script> 15 </script>