我的表单包含一个带有下拉值的字段(值来自选择函数),当我第二次尝试更新该字段(使用 fieldUpdate)时,我总是收到以下错误:“已具有相同值的记录存在于屏幕中”,为了实现正确的行为,需要执行的正确操作顺序是什么?这是我实现这一目标的尝试:
await actions.loginTest();
const form = await actions.priority.formStart(this.formName,
this.onShowMessgeFunc, this.onUpdateFieldsFunc);
_formInstance = form;
const rows = await form.getRows(1);
console.log("parent form rows", rows);
await _formInstance.setActiveRow(1);
form.choose("CUSTNAME", '').then(options => {
let custOptions = options.SearchLine.map(x => {return {label:x.retval + " -
" + x.string1, value: x.retval }});
}).catch((err) => {
console.log("CHOOSE ERROR", err);
})
当我从下拉列表中选择一个值时,这些是我的操作:
await _formInstance.fieldUpdate("CUSTNAME", data.value);
await _formInstance.saveRow(1);
const rows = await _formInstance.getRows(1);
console.log("rows", rows);
第一次它工作得很好,但是当我第二次选择一个不同的值时,我得到一个错误,说这个值已经存在(就像它认为我正在尝试更新值但我没有,我只是想获取当我将字段保留为优先级时由于字段触发而返回的其他字段的值)。我没有任何改变值的目的,只是从子表单中获取有关其他字段和数据的信息。