我按照教程操作,子表多行情况下,主表会重复,如图
export function onTableChange({ value, extra }) {
const { formGroupId, fieldId, from, changes = {}, tableFieldId } = extra || {};
// 必须,避免使用 updateItemValue 更新子表数据后,再次触发 onChange 陷入死循环
if (from === 'setItemValue') { return };
const tableField = this.$(tableFieldId);
// 上述代码必须存在,否则会造成功能异常
// 子表单数值-制单人
if (fieldId && fieldId === 'numberField_lu6e8px6') {
const sum = value.reduce((prev, cur) => {
return prev + (cur.numberField_lu6e8px6 || 0);
}, 0);
this.$('numberField_lu80ss80').setValue(sum);
};
// 子表单数值-物料凭证
if (fieldId && fieldId === 'textField_lu6e8pxa') {
const sum = value.reduce((prev, cur) => {
return prev + (cur.textField_lu6e8pxa || 0);
}, 0);
this.$('textField_lu7q4agk').setValue(sum);
};
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要实现将子表单的值赋值给主表单,通常涉及到数据处理和去重的逻辑。以下是具体的步骤和代码示例:
export function onTableChange({ value, extra }) {
const sum = value.reduce((prev, cur) => {
return prev + (cur.numberField || 0);
}, 0);
// 将计算结果赋值给主表单的相应字段
}
总的来说,通过上述步骤,您应该能够实现将子表单的数据赋值给主表单,并进行必要的数据去重处理。请根据您的具体需求调整代码和插件设置。