Browse Source

修复w-grid-select组件设置模型值,显示值未更新的问题。

main
likunming 6 months ago
parent
commit
27357b49d1
  1. 7
      io.sc.platform.core.frontend/src/platform/components/select/WGridSelect.vue

7
io.sc.platform.core.frontend/src/platform/components/select/WGridSelect.vue

@ -233,7 +233,9 @@ watch(
if (newVal !== oldVal) { if (newVal !== oldVal) {
fieldMethodsClass.updateValue(newVal); fieldMethodsClass.updateValue(newVal);
} }
if (!modelObjectValue.value || (modelObjectValue.value.length === 0 && newVal !== oldVal)) { if (Tools.isEmpty(newVal)) {
fieldMethodsClass.clearObjectValue();
} else if (newVal !== oldVal) {
setObjectValueByValue(newVal); setObjectValueByValue(newVal);
} }
}, },
@ -242,6 +244,7 @@ watch(
// //
const setObjectValueByValue = async (value) => { const setObjectValueByValue = async (value) => {
if ((Array.isArray(value) && value.length > 0) || (typeof value === 'string' && !Tools.isEmpty(value))) { if ((Array.isArray(value) && value.length > 0) || (typeof value === 'string' && !Tools.isEmpty(value))) {
fieldMethodsClass.clearObjectValue();
const urlSearchParams = new URLSearchParams(); const urlSearchParams = new URLSearchParams();
urlSearchParams.append( urlSearchParams.append(
'criteria', 'criteria',
@ -257,12 +260,10 @@ const setObjectValueByValue = async (value) => {
if (resp && resp.data) { if (resp && resp.data) {
const responseData = resp.data; const responseData = resp.data;
if (Array.isArray(responseData) && responseData.length > 0) { if (Array.isArray(responseData) && responseData.length > 0) {
fieldMethodsClass.clearObjectValue();
responseData.forEach((item) => { responseData.forEach((item) => {
modelObjectValue.value.push({ value: item[valueUseColumnName], displayValue: getActualDisplayValue(item) }); modelObjectValue.value.push({ value: item[valueUseColumnName], displayValue: getActualDisplayValue(item) });
}); });
} else if (typeof responseData === 'object' && responseData.content?.length > 0) { } else if (typeof responseData === 'object' && responseData.content?.length > 0) {
fieldMethodsClass.clearObjectValue();
responseData.content.forEach((item) => { responseData.content.forEach((item) => {
modelObjectValue.value.push({ value: item[valueUseColumnName], displayValue: getActualDisplayValue(item) }); modelObjectValue.value.push({ value: item[valueUseColumnName], displayValue: getActualDisplayValue(item) });
}); });

Loading…
Cancel
Save