Commit 40767b2aaba488647d68e41f9fa987099a009cee
Merge branch 'fix/DEFECT-1349' into 'main_dev'
fix: DEFECT-1349修复切换组件后未将设备属性置空 See merge request yunteng/thingskit-front!646
Showing
3 changed files
with
22 additions
and
7 deletions
@@ -28,6 +28,7 @@ | @@ -28,6 +28,7 @@ | ||
28 | import { useGetComponentConfig } from '../packages/hook/useGetComponetConfig'; | 28 | import { useGetComponentConfig } from '../packages/hook/useGetComponetConfig'; |
29 | import { MessageAlert } from './components/MessageAlert'; | 29 | import { MessageAlert } from './components/MessageAlert'; |
30 | import { createSelectWidgetKeysContext, createSelectWidgetModeContext } from './useContext'; | 30 | import { createSelectWidgetKeysContext, createSelectWidgetModeContext } from './useContext'; |
31 | + import { useGetCategoryByComponentKey } from '../packages/hook/useGetCategoryByComponentKey'; | ||
31 | 32 | ||
32 | const props = defineProps<{ | 33 | const props = defineProps<{ |
33 | layout: Layout[]; | 34 | layout: Layout[]; |
@@ -119,10 +120,16 @@ | @@ -119,10 +120,16 @@ | ||
119 | */ | 120 | */ |
120 | watch( | 121 | watch( |
121 | () => selectWidgetKeys.value.componentKey, | 122 | () => selectWidgetKeys.value.componentKey, |
122 | - (value) => { | 123 | + (value, oldValue) => { |
123 | if (value) { | 124 | if (value) { |
125 | + const oldCategory = useGetCategoryByComponentKey(oldValue); | ||
126 | + const category = useGetCategoryByComponentKey(value); | ||
127 | + const needReset = | ||
128 | + [oldCategory, category].some((item) => item === PackagesCategoryEnum.CONTROL) && | ||
129 | + oldCategory !== category; | ||
124 | dataSource.value = unref(dataSource).map((item) => ({ | 130 | dataSource.value = unref(dataSource).map((item) => ({ |
125 | ...item, | 131 | ...item, |
132 | + ...(needReset ? { attribute: null } : {}), | ||
126 | componentInfo: { ...unref(getComponentConfig).persetOption, ...item.componentInfo }, | 133 | componentInfo: { ...unref(getComponentConfig).persetOption, ...item.componentInfo }, |
127 | })); | 134 | })); |
128 | if ((window as any).requestIdleCallback as unknown as boolean) { | 135 | if ((window as any).requestIdleCallback as unknown as boolean) { |
@@ -48,13 +48,9 @@ | @@ -48,13 +48,9 @@ | ||
48 | }); | 48 | }); |
49 | 49 | ||
50 | const getOptions = computed<VideoJsPlayerOptions>(() => { | 50 | const getOptions = computed<VideoJsPlayerOptions>(() => { |
51 | - const { option } = props.config; | ||
52 | - const { itemHeightRatio, itemWidthRatio, widthPx, heightPx } = option; | ||
53 | - const currentW = widthPx * (itemWidthRatio / 100); | ||
54 | - const currentH = heightPx * (itemHeightRatio / 100); | ||
55 | return { | 51 | return { |
56 | - width: currentW - 8, | ||
57 | - height: currentH - 8, | 52 | + width: '100%' as unknown as number, |
53 | + height: '100%' as unknown as number, | ||
58 | sources: unref(getVideoPlaySources).src | 54 | sources: unref(getVideoPlaySources).src |
59 | ? ([unref(getVideoPlaySources)] as VideoJsPlayerOptions['sources']) | 55 | ? ([unref(getVideoPlaySources)] as VideoJsPlayerOptions['sources']) |
60 | : [], | 56 | : [], |
1 | +import { PackagesCategoryEnum } from '../index.type'; | ||
2 | +import { packageList } from '../package'; | ||
3 | + | ||
4 | +export const useGetCategoryByComponentKey = (componentKey: string) => { | ||
5 | + for (const key of Object.keys(packageList) as PackagesCategoryEnum[]) { | ||
6 | + for (const item of packageList[key]) { | ||
7 | + if (item.key === componentKey) { | ||
8 | + return key; | ||
9 | + } | ||
10 | + } | ||
11 | + } | ||
12 | +}; |