Commit da76f3c77bd044caaf65e2c7a5c1c9dd72b4ca44
1 parent
7a07b703
fix(layout): fix layout scale error
Showing
11 changed files
with
58 additions
and
21 deletions
CHANGELOG.zh_CN.md
src/components/Basic/index.ts
1 | import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; | 1 | import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; |
2 | import BasicArrow from './src/BasicArrow.vue'; | 2 | import BasicArrow from './src/BasicArrow.vue'; |
3 | +import BasicTitle from './src/BasicTitle.vue'; | ||
3 | 4 | ||
4 | -export { BasicArrow }; | 5 | +export { BasicArrow, BasicTitle }; |
5 | 6 | ||
6 | // export const BasicArrow = createAsyncComponent(() => import('./src/BasicArrow.vue')); | 7 | // export const BasicArrow = createAsyncComponent(() => import('./src/BasicArrow.vue')); |
7 | export const BasicHelp = createAsyncComponent(() => import('./src/BasicHelp.vue')); | 8 | export const BasicHelp = createAsyncComponent(() => import('./src/BasicHelp.vue')); |
8 | -export const BasicTitle = createAsyncComponent(() => import('./src/BasicTitle.vue')); | 9 | +// export const BasicTitle = createAsyncComponent(() => import('./src/BasicTitle.vue')); |
src/components/Description/index.ts
1 | -import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; | ||
2 | -export const Description = createAsyncComponent(() => import('./src/index')); | 1 | +// import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; |
2 | +// export const Description = createAsyncComponent(() => import('./src/index')); | ||
3 | 3 | ||
4 | +import Description from './src/index'; | ||
5 | + | ||
6 | +export { Description }; | ||
4 | export * from './src/types'; | 7 | export * from './src/types'; |
5 | export { useDescription } from './src/useDescription'; | 8 | export { useDescription } from './src/useDescription'; |
src/components/Menu/index.ts
1 | import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; | 1 | import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; |
2 | 2 | ||
3 | -export const BasicMenu = createAsyncComponent(() => import('./src/BasicMenu.vue')); | 3 | +import BasicMenu from './src/BasicMenu.vue'; |
4 | + | ||
5 | +// export const BasicMenu = createAsyncComponent(() => import('./src/BasicMenu.vue')); | ||
4 | 6 | ||
5 | export const MenuTag = createAsyncComponent(() => import('./src/components/MenuItemTag.vue')); | 7 | export const MenuTag = createAsyncComponent(() => import('./src/components/MenuItemTag.vue')); |
8 | + | ||
9 | +export { BasicMenu }; |
src/components/Menu/src/useOpenKeys.ts
@@ -23,7 +23,6 @@ export function useOpenKeys( | @@ -23,7 +23,6 @@ export function useOpenKeys( | ||
23 | return; | 23 | return; |
24 | } | 24 | } |
25 | const native = unref(getIsMixSidebar) && unref(getMixSideFixed); | 25 | const native = unref(getIsMixSidebar) && unref(getMixSideFixed); |
26 | - | ||
27 | useTimeoutFn( | 26 | useTimeoutFn( |
28 | () => { | 27 | () => { |
29 | const menuList = toRaw(menus.value); | 28 | const menuList = toRaw(menus.value); |
@@ -37,7 +36,7 @@ export function useOpenKeys( | @@ -37,7 +36,7 @@ export function useOpenKeys( | ||
37 | } | 36 | } |
38 | }, | 37 | }, |
39 | 16, | 38 | 16, |
40 | - native | 39 | + !native |
41 | ); | 40 | ); |
42 | } | 41 | } |
43 | 42 |
src/components/Table/src/components/editable/EditableCell.vue
@@ -148,10 +148,16 @@ | @@ -148,10 +148,16 @@ | ||
148 | }); | 148 | }); |
149 | 149 | ||
150 | watchEffect(() => { | 150 | watchEffect(() => { |
151 | + console.log('======================'); | ||
152 | + console.log(1); | ||
153 | + console.log('======================'); | ||
151 | defaultValueRef.value = props.value; | 154 | defaultValueRef.value = props.value; |
152 | }); | 155 | }); |
153 | 156 | ||
154 | watchEffect(() => { | 157 | watchEffect(() => { |
158 | + console.log('======================'); | ||
159 | + console.log(2); | ||
160 | + console.log('======================'); | ||
155 | const { editable } = props.column; | 161 | const { editable } = props.column; |
156 | if (isBoolean(editable) || isBoolean(unref(getRowEditable))) { | 162 | if (isBoolean(editable) || isBoolean(unref(getRowEditable))) { |
157 | isEdit.value = !!editable || unref(getRowEditable); | 163 | isEdit.value = !!editable || unref(getRowEditable); |
src/components/Table/src/hooks/useDataSource.ts
1 | import type { BasicTableProps, FetchParams, SorterResult } from '../types/table'; | 1 | import type { BasicTableProps, FetchParams, SorterResult } from '../types/table'; |
2 | import type { PaginationProps } from '../types/pagination'; | 2 | import type { PaginationProps } from '../types/pagination'; |
3 | 3 | ||
4 | -import { ref, unref, ComputedRef, computed, onMounted, watchEffect, reactive } from 'vue'; | 4 | +import { ref, unref, ComputedRef, computed, onMounted, watch, reactive } from 'vue'; |
5 | 5 | ||
6 | import { useTimeoutFn } from '/@/hooks/core/useTimeout'; | 6 | import { useTimeoutFn } from '/@/hooks/core/useTimeout'; |
7 | 7 | ||
@@ -40,10 +40,21 @@ export function useDataSource( | @@ -40,10 +40,21 @@ export function useDataSource( | ||
40 | }); | 40 | }); |
41 | const dataSourceRef = ref<Recordable[]>([]); | 41 | const dataSourceRef = ref<Recordable[]>([]); |
42 | 42 | ||
43 | - watchEffect(() => { | ||
44 | - const { dataSource, api } = unref(propsRef); | ||
45 | - !api && dataSource && (dataSourceRef.value = dataSource); | ||
46 | - }); | 43 | + // watchEffect(() => { |
44 | + // const { dataSource, api } = unref(propsRef); | ||
45 | + // !api && dataSource && (dataSourceRef.value = dataSource); | ||
46 | + // }); | ||
47 | + | ||
48 | + watch( | ||
49 | + () => unref(propsRef).dataSource, | ||
50 | + () => { | ||
51 | + const { dataSource, api } = unref(propsRef); | ||
52 | + !api && dataSource && (dataSourceRef.value = dataSource); | ||
53 | + }, | ||
54 | + { | ||
55 | + immediate: true, | ||
56 | + } | ||
57 | + ); | ||
47 | 58 | ||
48 | function handleTableChange( | 59 | function handleTableChange( |
49 | pagination: PaginationProps, | 60 | pagination: PaginationProps, |
src/components/Table/src/hooks/useLoading.ts
1 | -import { ref, ComputedRef, unref, computed, watchEffect } from 'vue'; | 1 | +import { ref, ComputedRef, unref, computed, watch } from 'vue'; |
2 | import type { BasicTableProps } from '../types/table'; | 2 | import type { BasicTableProps } from '../types/table'; |
3 | 3 | ||
4 | export function useLoading(props: ComputedRef<BasicTableProps>) { | 4 | export function useLoading(props: ComputedRef<BasicTableProps>) { |
5 | const loadingRef = ref(unref(props).loading); | 5 | const loadingRef = ref(unref(props).loading); |
6 | 6 | ||
7 | - watchEffect(() => { | ||
8 | - loadingRef.value = unref(props).loading; | ||
9 | - }); | 7 | + watch( |
8 | + () => unref(props).loading, | ||
9 | + (loading) => { | ||
10 | + loadingRef.value = loading; | ||
11 | + } | ||
12 | + ); | ||
10 | 13 | ||
11 | const getLoading = computed(() => { | 14 | const getLoading = computed(() => { |
12 | return unref(loadingRef); | 15 | return unref(loadingRef); |
src/components/Table/src/hooks/useTableScroll.ts
1 | import type { BasicTableProps, TableRowSelection } from '../types/table'; | 1 | import type { BasicTableProps, TableRowSelection } from '../types/table'; |
2 | import type { Ref, ComputedRef } from 'vue'; | 2 | import type { Ref, ComputedRef } from 'vue'; |
3 | -import { computed, unref, ref, nextTick, watchEffect } from 'vue'; | 3 | +import { computed, unref, ref, nextTick, watch } from 'vue'; |
4 | 4 | ||
5 | import { getViewportOffset } from '/@/utils/domUtils'; | 5 | import { getViewportOffset } from '/@/utils/domUtils'; |
6 | import { isBoolean } from '/@/utils/is'; | 6 | import { isBoolean } from '/@/utils/is'; |
@@ -28,9 +28,15 @@ export function useTableScroll( | @@ -28,9 +28,15 @@ export function useTableScroll( | ||
28 | return canResize && !(scroll || {}).y; | 28 | return canResize && !(scroll || {}).y; |
29 | }); | 29 | }); |
30 | 30 | ||
31 | - watchEffect(() => { | ||
32 | - unref(getCanResize) && debounceRedoHeight(); | ||
33 | - }); | 31 | + watch( |
32 | + () => unref(getCanResize), | ||
33 | + () => { | ||
34 | + debounceRedoHeight(); | ||
35 | + }, | ||
36 | + { | ||
37 | + immediate: true, | ||
38 | + } | ||
39 | + ); | ||
34 | 40 | ||
35 | function redoHeight() { | 41 | function redoHeight() { |
36 | if (unref(getCanResize)) { | 42 | if (unref(getCanResize)) { |
src/layouts/default/header/MultipleHeader.vue
@@ -34,6 +34,7 @@ | @@ -34,6 +34,7 @@ | ||
34 | getShowInsetHeaderRef, | 34 | getShowInsetHeaderRef, |
35 | getShowFullHeaderRef, | 35 | getShowFullHeaderRef, |
36 | getHeaderTheme, | 36 | getHeaderTheme, |
37 | + getShowHeader, | ||
37 | } = useHeaderSetting(); | 38 | } = useHeaderSetting(); |
38 | 39 | ||
39 | const { getFullContent } = useFullContent(); | 40 | const { getFullContent } = useFullContent(); |
@@ -68,7 +69,7 @@ | @@ -68,7 +69,7 @@ | ||
68 | const getPlaceholderDomStyle = computed( | 69 | const getPlaceholderDomStyle = computed( |
69 | (): CSSProperties => { | 70 | (): CSSProperties => { |
70 | let height = 0; | 71 | let height = 0; |
71 | - if (unref(getShowFullHeaderRef) || !unref(getSplit)) { | 72 | + if ((unref(getShowFullHeaderRef) || !unref(getSplit)) && unref(getShowHeader)) { |
72 | height += HEADER_HEIGHT; | 73 | height += HEADER_HEIGHT; |
73 | } | 74 | } |
74 | if (unref(getShowMultipleTab)) { | 75 | if (unref(getShowMultipleTab)) { |
src/layouts/default/tabs/useTabDropdown.ts
@@ -129,6 +129,7 @@ export function useTabDropdown(tabContentProps: TabContentProps) { | @@ -129,6 +129,7 @@ export function useTabDropdown(tabContentProps: TabContentProps) { | ||
129 | const isScale = !unref(getShowMenu) && !unref(getShowHeader); | 129 | const isScale = !unref(getShowMenu) && !unref(getShowHeader); |
130 | setMenuSetting({ | 130 | setMenuSetting({ |
131 | show: isScale, | 131 | show: isScale, |
132 | + hidden: !isScale, | ||
132 | }); | 133 | }); |
133 | setHeaderSetting({ | 134 | setHeaderSetting({ |
134 | show: isScale, | 135 | show: isScale, |