Преглед изворни кода

fix: 修复 Everright-formEditor setData 数据切换 通过拖拽的field 抛错

lanceJiang пре 3 месеци
родитељ
комит
846b660ba2

+ 1 - 1
src/components/packages/formEditor/components/Panels/Config/components/DataComponent1.jsx

@@ -57,7 +57,7 @@ export default defineComponent({
     if (state.mode === 'config') {
       this.data = target.value.options.data = target.value.options.data || [...utils.generateOptions(3)]
     } else {
-      this.data = _.cloneDeep(state.data[target.value.options.dataKey].list)
+      this.data = _.cloneDeep(state.data?.[target.value.options.dataKey]?.list || [])
     }
     if (this.isMultiple) {
       this.checkList = _.cloneDeep(target.value.options.defaultValue)

+ 6 - 1
src/components/packages/formEditor/components/Panels/Config/components/PropsPanel.vue

@@ -343,7 +343,12 @@ const handleAction = (type, value) => {
 				unref(dataRef)
 					.getData()
 					.then(({ data, defaultValue }) => {
-						state.data[target.value.options.dataKey].list = data
+						// {[key]: data}
+						let _config = state.data[target.value.options.dataKey]
+						if (!_config) {
+							_config = state.data[target.value.options.dataKey] = { list: [] }
+						}
+						_config.list = data
 						target.value.options.defaultValue = defaultValue
 						dialogVisible.value = false
 					})