Commit c6e5c0f5f17bc678fb4c613533b78ad04e1510bd

Authored by jinmao88
1 parent ca997c15

perf: 组件修改为setup

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