1.明细表

  • 明细表是表单的一种元素,数据格式是数组,每一行数组都是一个对象,每一组对象都有ID作为唯一键值,如果是新增一行数据,在当行数据需要加__add: true。
  • 如果是个树形的明细表,每一行的数据中都有children的key,children表示是子行,值是一个数组,数据格式明细表一样。
  • 如果有子行或者行数据中有children字段,说明是树形明细表。

例子1:
利用context.setFormData的能力实现新增一行,但是不会执行联动

const { context } = configs;
const formData = context.getFormData();
let tableData = formData['tableAttrCode'];

if (!Array.isArray(tableData)) {
  tableData = [];
}
tableData.push({ ID: +new Date(), __add: true });
context.setFormData({ tableAttrCode: [...tableData] });

例子2:
新增一行数据,利用context.getCompRef的能力实现新增一行并可以执行联动

const { context } = configs;
const tableRef = context.getCompRef({ formCode: 'formCode', attrCode: 'attrCode' });
const formData = context.getFormData();
let tableData = formData['tableAttrCode'];
if (!Array.isArray(tableData)) {
  tableData = [];
}
const id = +new Date()
tableData.push({ ID: id, __add: true });
// onChange可以改变值和触发联动
tableRef?.onChange?.([...tableData], { id, formCode: 'formCode', attrCode: 'attrCode', index: tableData.length })
作者:王浩彬  创建时间:2023-05-23 17:22
最后编辑:王浩彬  更新时间:2024-12-11 10:09