diff --git a/io.sc.platform.core.frontend/src/platform/components/select/WGridSelect.vue b/io.sc.platform.core.frontend/src/platform/components/select/WGridSelect.vue index 0450303f..069ea535 100644 --- a/io.sc.platform.core.frontend/src/platform/components/select/WGridSelect.vue +++ b/io.sc.platform.core.frontend/src/platform/components/select/WGridSelect.vue @@ -233,7 +233,9 @@ watch( if (newVal !== oldVal) { fieldMethodsClass.updateValue(newVal); } - if (!modelObjectValue.value || (modelObjectValue.value.length === 0 && newVal !== oldVal)) { + if (Tools.isEmpty(newVal)) { + fieldMethodsClass.clearObjectValue(); + } else if (newVal !== oldVal) { setObjectValueByValue(newVal); } }, @@ -242,6 +244,7 @@ watch( // 根据实际值设置显示值 const setObjectValueByValue = async (value) => { if ((Array.isArray(value) && value.length > 0) || (typeof value === 'string' && !Tools.isEmpty(value))) { + fieldMethodsClass.clearObjectValue(); const urlSearchParams = new URLSearchParams(); urlSearchParams.append( 'criteria', @@ -257,12 +260,10 @@ const setObjectValueByValue = async (value) => { if (resp && resp.data) { const responseData = resp.data; if (Array.isArray(responseData) && responseData.length > 0) { - fieldMethodsClass.clearObjectValue(); responseData.forEach((item) => { modelObjectValue.value.push({ value: item[valueUseColumnName], displayValue: getActualDisplayValue(item) }); }); } else if (typeof responseData === 'object' && responseData.content?.length > 0) { - fieldMethodsClass.clearObjectValue(); responseData.content.forEach((item) => { modelObjectValue.value.push({ value: item[valueUseColumnName], displayValue: getActualDisplayValue(item) }); });