From e2cdc6e441119fd8fbfc8463c66500d69b44119b Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Wed, 18 Mar 2026 14:52:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E8=81=94=E9=80=89=E9=A1=B9=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=9F=A5=E7=9C=8B=E9=A1=B5=E9=9A=90=E8=97=8F=E6=95=88?= =?UTF-8?q?=E6=9E=9C=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DesignForm/public/form/newForm.vue | 75 ++++++++++++------- 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/src/components/DesignForm/public/form/newForm.vue b/src/components/DesignForm/public/form/newForm.vue index 9faf71c..cc637f7 100644 --- a/src/components/DesignForm/public/form/newForm.vue +++ b/src/components/DesignForm/public/form/newForm.vue @@ -246,6 +246,48 @@ interface hideFieldConditionArritem { conditions: any[]; } + + +function funWait(trueValue,conditionFieldValueArr,x,hideFieldsFromCheckbox,toshow){ + if(trueValue){ + if (trueValue.length > 0 && arrayEqual(trueValue, conditionFieldValueArr)) { + //此时满足了条件,但是必须看一下conditionField有没有被隐藏.如果被隐藏了,则x不能增加. + //alert("多选条件成功触发") + /* console.log(conditionField) + console.log(toshow) */ + let flag = false; //其依赖的选项的父字段是否被隐藏.默认没被隐藏, + //如果此时的conditionField有可能被隐藏且已被隐藏,x不能++ + /* for(let a = 0;a1说明时多选,=1说明是单选. + for(let b = 0;b item!=hideFieldsFromCheckbox[i]) + //emits('refresh') + } */ + } + } + }else{ + setTimeout(()=>{ + funWait(trueValue,conditionFieldValueArr,x,hideFieldsFromCheckbox,toshow) + },100) + } + +} + + const recursionToGetFinallyHideFields = ( hideFieldArr: any[], radioSelectArr3: string | any[], @@ -351,35 +393,10 @@ const recursionToGetFinallyHideFields = ( if (modelKeyArr[n] == conditionField) { //let count_1 = 0; let trueValue = model.value[modelKeyArr[n]]; - if (trueValue.length > 0 && arrayEqual(trueValue, conditionFieldValueArr)) { - //此时满足了条件,但是必须看一下conditionField有没有被隐藏.如果被隐藏了,则x不能增加. - //alert("多选条件成功触发") - /* console.log(conditionField) - console.log(toshow) */ - let flag = false; //其依赖的选项的父字段是否被隐藏.默认没被隐藏, - //如果此时的conditionField有可能被隐藏且已被隐藏,x不能++ - /* for(let a = 0;a1说明时多选,=1说明是单选. - for(let b = 0;b item!=hideFieldsFromCheckbox[i]) - //emits('refresh') - } */ - } - } + + funWait(trueValue,conditionFieldValueArr,x,hideFieldsFromCheckbox,toshow) + + } } } else {