diff --git a/apps/vue/src/components/Form/src/hooks/useFormEvents.ts b/apps/vue/src/components/Form/src/hooks/useFormEvents.ts index 4c90df66e..0841f8169 100644 --- a/apps/vue/src/components/Form/src/hooks/useFormEvents.ts +++ b/apps/vue/src/components/Form/src/hooks/useFormEvents.ts @@ -227,15 +227,19 @@ export function useFormEvents({ return; } const schema: FormSchema[] = []; - updateData.forEach((item) => { - unref(getSchema).forEach((val) => { + unref(getSchema).forEach((val) => { + let _val; + updateData.forEach((item) => { if (val.field === item.field) { - const newSchema = deepMerge(val, item); - schema.push(newSchema as FormSchema); - } else { - schema.push(val); + _val = item; } }); + if (_val !== undefined && val.field === _val.field) { + const newSchema = deepMerge(val, _val); + schema.push(newSchema as FormSchema); + } else { + schema.push(val); + } }); _setDefaultValue(schema); diff --git a/apps/vue/src/layouts/page/index.vue b/apps/vue/src/layouts/page/index.vue index d1cd11431..5fd9327ba 100644 --- a/apps/vue/src/layouts/page/index.vue +++ b/apps/vue/src/layouts/page/index.vue @@ -15,9 +15,11 @@ appear > - +
+ +
-
+
diff --git a/apps/vue/src/utils/index.ts b/apps/vue/src/utils/index.ts index 0f5b7631f..5aa306b67 100644 --- a/apps/vue/src/utils/index.ts +++ b/apps/vue/src/utils/index.ts @@ -35,7 +35,7 @@ export function setObjToUrlParams(baseUrl: string, obj: any): string { export function deepMerge(src: any = {}, target: any = {}): T { let key: string; - const res: any = cloneDeep(src) + const res: any = cloneDeep(src); for (key in target) { res[key] = isObject(res[key]) ? deepMerge(res[key], target[key]) : (res[key] = target[key]); }