跳到主要内容

EditableTable

特殊属性

EditableTable 组件需要一个特殊属性 fieldConfig

配置示例:

{
"fieldConfig": {
"pbcToken": "",
"formEntityToken": "",
"relations": [
{
"colId": "parentDataId",
"filterType": "text",
"type": "equals",
"filter": "$CURRENT_FORM_DATA_ID"
}
]
}
}

容器属性

所有组件配置的第一层均支持容器属性

组件属性 componentsProps

NameTypeDefault是否支持 Variable PatternDescription
classNamestring✔️组件的 className
styleobject组件的 style
simpleModeboolfalse如果设置 true, 在提交的时候全部发送给请求;如果设置 false,在提交的时候会自动识别成 { inserted, updated, deleted } 的增量修改模式。
columnDefsarray表格的列的定义,支持 ag-grid 所有的 columnDefs
defaultColDefobjectag-grid 默认列的属性
dataUrlConditionalListOrSinglePropertyPropType(string)通过 dataUrl 获取数据。
defaultValueDataUrlstring表格默认值, 加载后放在inserted内
dataFiltersConditionalListPropertyPropType(DataFilters)✔️请求数据源隐藏的固定 filter 条件,无法通过界面进行改变
dataResponseKeyPathstring'results'取 response data 里的某一个子数据来作为结果。
transformDataResponsestring转换取到的数据,使用 eval 表达式,this 指向获取到的数据。
transformDefaultValueResponsestring转换从 defaultValueDataUrl 获取到的数据,使用 eval 表达式,this 指向获取到的数据
canAddRowbooltrue是否支持增加行
newRowDefaultValuesobject新增行的默认值
maxRowCountnumberInfinity可增加的最大行数
canDeleteRowbooltrue是否支持删除行
triggerDataFetchedOnGridReadybooltruedataFetched 事件是否需要等到 grid ready 之后保证 gridApi 有值过后才触发

所有其余 componentsProps 将会被传给组件根元素(Table)。

JS API

通过 formApi.getFieldApi() 获取的接口如下:

NameTypeDescription
nodeHTML Element组件的根 DOM 元素
onfunc绑定到组件的事件
gridApiobjectAg-Grid 的 api 接口, 官方文档
getComponentProps() => object获取组件配置的所有 componentProps
updateComponentProps() => void更新组件的 componentProps
refresh() => void刷新表格数据
isSimpleMode() => bool是否为 simpleMode 模式
getRowData() => array获取表格所有数据
getOldRowData() => array获取表格编辑前的所有数据
getChangedData() => { inserted: [], updated: [], deleted: [] }获取表格计算的修改数据
addRow(rows) => void往表格添加一行或多行新数据,参数 rows 数据里不需要有 id 属性,表格会自动添加随机 id,并且在提交数据的时候删除它
updateRow(rows) => void修改表格的某一行或多行数据,靠 rows 数据里的 id 来标识修改的是哪行
removeRow(rows) => void删除表格的某一行或多行数据,靠 rows 数据里的 id 来标识修改的是哪行
getSelectedIds(rows) => array返回表格选中行的所有 id 组成的数组

on eventType

NamecallbackDescription
dataFetched(formApi) => array当表格通过数据源配置获取到数据后触发
addRow(formApi) => array当表格新增行时出触发
deleteRow(formApi) => array当表格删除行时触发