Commit c6e5c0f5f17bc678fb4c613533b78ad04e1510bd
1 parent
ca997c15
perf: 组件修改为setup
Showing
5 changed files
with
15 additions
and
44 deletions
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> | ... | ... |