Skip to content

Commit 56e04c0

Browse files
committed
修复表单select/checkbox为只读时字典没有转换的问题
1 parent 43b900b commit 56e04c0

File tree

2 files changed

+38
-38
lines changed

2 files changed

+38
-38
lines changed

Vol.Vue/src/components/basic/VolForm.vue

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -436,35 +436,35 @@ export default {
436436
}
437437
callback();
438438
},
439+
convertArrayValue (data, val) {//2020.12.13增加表单多选只转换字典
440+
//编辑多选table显示
441+
let valArr = val instanceof Array ? val : val.split(",");
442+
for (let index = 0; index < valArr.length; index++) {
443+
var _item = data.find(x => {
444+
return x.key && x.key != "0" &&
445+
x.key + "" == valArr[index] + ""
446+
})
447+
if (_item) { valArr[index] = _item.value; }
448+
}
449+
return valArr.join(",");
450+
},
439451
getText (_formFields, item) {
440452
//2019.10.24修复表单select组件为只读的属性时没有绑定数据源
441453
let text = _formFields[item.field];
442-
443-
if (typeof text == "function") {
444-
return text(_formFields);
445-
}
454+
if (typeof text == "function") return text(_formFields);
446455
if (
447456
text === "null" ||
448457
text === "" ||
449458
text === null ||
450459
text === undefined
451-
) {
452-
return "--";
453-
}
460+
) return "--";
454461
455462
if (!item.data) return text;
456-
let data = item.data;
457-
// if (item.data.data) {
458-
// data = item.data.data;
459-
// } else {
460-
// data = item.data;
461-
// }
462-
data.forEach((x) => {
463-
if (x.key == text) {
464-
text = x.value;
465-
}
466-
});
467-
return text;
463+
if (item.type == "selectList" || item.type == "checkbox") {
464+
return this.convertArrayValue(item.data, text);
465+
}
466+
var _item = item.data.find(x => { return x.key == text });
467+
return _item ? _item.value : text
468468
},
469469
onClear (item, _formFields) {
470470
//远程select标签清空选项

开发版dev/Vue.NetCore/Vol.Vue/src/components/basic/VolForm.vue

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -436,35 +436,35 @@ export default {
436436
}
437437
callback();
438438
},
439+
convertArrayValue (data, val) {//2020.12.13增加表单多选只转换字典
440+
//编辑多选table显示
441+
let valArr = val instanceof Array ? val : val.split(",");
442+
for (let index = 0; index < valArr.length; index++) {
443+
var _item = data.find(x => {
444+
return x.key && x.key != "0" &&
445+
x.key + "" == valArr[index] + ""
446+
})
447+
if (_item) { valArr[index] = _item.value; }
448+
}
449+
return valArr.join(",");
450+
},
439451
getText (_formFields, item) {
440452
//2019.10.24修复表单select组件为只读的属性时没有绑定数据源
441453
let text = _formFields[item.field];
442-
443-
if (typeof text == "function") {
444-
return text(_formFields);
445-
}
454+
if (typeof text == "function") return text(_formFields);
446455
if (
447456
text === "null" ||
448457
text === "" ||
449458
text === null ||
450459
text === undefined
451-
) {
452-
return "--";
453-
}
460+
) return "--";
454461
455462
if (!item.data) return text;
456-
let data = item.data;
457-
// if (item.data.data) {
458-
// data = item.data.data;
459-
// } else {
460-
// data = item.data;
461-
// }
462-
data.forEach((x) => {
463-
if (x.key == text) {
464-
text = x.value;
465-
}
466-
});
467-
return text;
463+
if (item.type == "selectList" || item.type == "checkbox") {
464+
return this.convertArrayValue(item.data, text);
465+
}
466+
var _item = item.data.find(x => { return x.key == text });
467+
return _item ? _item.value : text
468468
},
469469
onClear (item, _formFields) {
470470
//远程select标签清空选项

0 commit comments

Comments
 (0)