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 | 28 | import { useGetComponentConfig } from '../packages/hook/useGetComponetConfig'; |
| 29 | 29 | import { MessageAlert } from './components/MessageAlert'; |
| 30 | 30 | import { createSelectWidgetKeysContext, createSelectWidgetModeContext } from './useContext'; |
| 31 | + import { useGetCategoryByComponentKey } from '../packages/hook/useGetCategoryByComponentKey'; | |
| 31 | 32 | |
| 32 | 33 | const props = defineProps<{ |
| 33 | 34 | layout: Layout[]; |
| ... | ... | @@ -119,10 +120,16 @@ |
| 119 | 120 | */ |
| 120 | 121 | watch( |
| 121 | 122 | () => selectWidgetKeys.value.componentKey, |
| 122 | - (value) => { | |
| 123 | + (value, oldValue) => { | |
| 123 | 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 | 130 | dataSource.value = unref(dataSource).map((item) => ({ |
| 125 | 131 | ...item, |
| 132 | + ...(needReset ? { attribute: null } : {}), | |
| 126 | 133 | componentInfo: { ...unref(getComponentConfig).persetOption, ...item.componentInfo }, |
| 127 | 134 | })); |
| 128 | 135 | if ((window as any).requestIdleCallback as unknown as boolean) { | ... | ... |
| ... | ... | @@ -48,13 +48,9 @@ |
| 48 | 48 | }); |
| 49 | 49 | |
| 50 | 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 | 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 | 54 | sources: unref(getVideoPlaySources).src |
| 59 | 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 | +}; | ... | ... |