From 1f660efab62523700a940c7cb601d0b31784377c Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Wed, 7 Jan 2026 16:28:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=A9=E9=98=B5=E5=A1=AB=E5=85=85=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=95=88=E6=9E=9C=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DesignForm/public/form/form.vue | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/components/DesignForm/public/form/form.vue b/src/components/DesignForm/public/form/form.vue index c8f4b3b..543d0ef 100644 --- a/src/components/DesignForm/public/form/form.vue +++ b/src/components/DesignForm/public/form/form.vue @@ -679,6 +679,15 @@ provide(constControlChange, ({ key, value, data, tProp, type, attribute }: any) let mustBeHidden: any = []; let newModelKeyArr: string[] = []; + +// 判断对象是否是“内容为空的纯对象” +function isEmptyPlainObject(obj) { + // 先确认是对象类型,再检查属性数量为0 + return Object.prototype.toString.call(obj) === '[object Object]' + && Object.keys(obj).length === 0; +} + + function showOrHide(data: any) { //console.log(data) @@ -918,13 +927,13 @@ function showOrHide(data: any) { ) { if (!props.formData.list[i].control.multiple) { radioSelectShowConfigArr.push(props.formData.list[i].control.glxxsz); - if(props.formData.list[i].control.zdtcsz){ + if(props.formData.list[i].control.zdtcsz&&!isEmptyPlainObject(props.formData.list[i].control.zdtcsz.tableData)){ props.formData.list[i].control.zdtcsz.name = props.formData.list[i].name radioSelectZdtcszConfigArr.push(props.formData.list[i].control.zdtcsz) } } else { checkboxShowConfigArr.push(props.formData.list[i].control.glxxsz); - if(props.formData.list[i].control.zdtcsz){ + if(props.formData.list[i].control.zdtcsz&&!isEmptyPlainObject(props.formData.list[i].control.zdtcsz.tableData)){ props.formData.list[i].control.zdtcsz.name = props.formData.list[i].name radioSelectZdtcszConfigArr.push(props.formData.list[i].control.zdtcsz) } @@ -950,7 +959,7 @@ function showOrHide(data: any) { } else { checkboxShowConfigArr.push(a[w].control.glxxsz); } - if(a[w].control.zdtcsz){ + if(a[w].control.zdtcsz&&!isEmptyPlainObject(a[w].control.zdtcsz.tableData)){ a[w].control.zdtcsz.name = a[w].name radioSelectZdtcszConfigArr.push(a[w].control.zdtcsz) } @@ -975,7 +984,7 @@ function showOrHide(data: any) { } else { checkboxShowConfigArr.push(a.control.glxxsz); } - if(a.control.zdtcsz){ + if(a.control.zdtcsz&&!isEmptyPlainObject(a.control.zdtcsz.tableData)){ a.control.zdtcsz.name = a.name radioSelectZdtcszConfigArr.push(a.control.zdtcsz) } @@ -1004,7 +1013,7 @@ function showOrHide(data: any) { } else { checkboxShowConfigArr.push(a.control.glxxsz); } - if(a.control.zdtcsz){ + if(a.control.zdtcsz&&!isEmptyPlainObject(a.control.zdtcsz.tableData)){ a.control.zdtcsz.name = a.name radioSelectZdtcszConfigArr.push(a.control.zdtcsz) } @@ -1023,7 +1032,7 @@ function showOrHide(data: any) { } else { checkboxShowConfigArr.push(q.control.glxxsz); } - if(q.control.zdtcsz){ + if(q.control.zdtcsz&&!isEmptyPlainObject(q.control.zdtcsz.tableData)){ q.control.zdtcsz.name = q.name radioSelectZdtcszConfigArr.push(q.control.zdtcsz) }