TableForm
表格表单,用于提交列表数据
API
通用属性见: 容器通用属性
ITableFormProps
| 参数 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| showSettingBtn | boolean | 是否开启自定义列,默认开启 | - |
| orderField | string | 用于排序的字段名 | - |
| order | ’desc’ | ‘asc’ | 降序/升序 ‘desc’ | ‘asc’ | - |
| showAdd | boolean | 显示新增行按钮 | - |
| showAddInput | boolean | 只有当 showAdd 为true 时有效,显示增加多少行的按钮, 默认为 true | - |
| showDelete | ((record: IDictionary) => boolean) | boolean | 显示删除行按钮,(record: IDictionary) => boolean 可以用于自定义每一行是否显示删除按钮,这种情况下不支持批量删除 | - |
| showDeleteOnTitle | boolean | 显示批量删除按钮 | - |
| showCopyRow | ((record: IDictionary) => boolean) | boolean | 是否显示复制行按钮 | - |
| genSummaryData | (data: IDictionary) => [{ label: string, value: string }] | 生成表格下面统计行数据的方法 | - |
| getId | (record: IDictionary) => string | getId | - |
| onFieldValueChange | (changedValue: any, fieldName: string, index: number) => void | 该方法即将废弃,请使用onFieldChange代替。字段值改变时触发的方法 | - |
| onFieldChange | (args?: {value: any, fieldName: string, index: number, record: IDictionary }) => void | 字段值改变时触发的方法,该属性被定义后不再执行onFieldValueChange回调 | - |
| onRowChange | (changedType: ‘add’ | ‘del’, changedIndex: number[], changedRecords: IDictionary[]) => void | 行变化时触发的方法 | - |
| serialNumber | boolean | 是否显示行号 | - |
| virtual | boolean | 开启虚拟列表模式 | - |
| searchMethod | (record: IDictionary, keywords: string) => boolean | string | 搜索匹配方法 | - |
| advanced | boolean | 高级表格类型(包含拖拽和表头工具栏) | - |
| sortable | boolean | 是否可拖拽排序 | - |
| comboField | string | 用于行合并指定字段名 | - |
| comboRowAction | boolean | 是否操作项跟随制定字段合并 | - |
| confirmDelete | ((record?: IDictionary) => string) | string | 用于删除是二次确认 | - |
| minDataCount | number | 校验最少包含几条数据 | - |
| selection | boolean | TableForm 行选择类型 | - |
| actionColumnWidth | number | 指定操作列宽度 | - |
| rowSelectDisabled | (record: IDictionary, rowIndex: number) => boolean | 行选项禁用 | - |
| maxDataCount | number | 最多包含几条数据 | - |
| rowDataUniqueFields | string | 指定行数据中哪些字段唯一性(多个字段用’,‘隔开) | - |
用法
<View title="批量人员编辑" version="2"> <TableForm model="trantor_doc_Person" showAdd="true" showDelete="false" serialNumber genSummaryData="#{handlerSummary}" onFieldValueChange="#{onFieldValueChange}" getId="#{(record) => record.id}" > <Alert show="#{showAlert}" type="normal" message="message" /> <Fields> <Field name="name"/> <Field name="avatar"/> <Field name="age"/> <Field name="password"/> <Field name="credentials"/> <Field name="department"/> <Field name="birthday"/> </Fields> <RecordActions label="操作"> <Action logicFunction="trantor_doc_Person_update" after="Refresh" label="保存"/> </RecordActions> </TableForm></View>注意:当前例子为0.17.x 版本
行合并
⚠注意:使用行合并功能,必须按照列表当前合并字段先排序,否则合并出错。
| 新增参数 | 说明 | 类型 | 默认值 | 备注 |
|---|---|---|---|---|
| comboField | 指定合并的字段(该字段一样,则列为一组展示,且合并字段不可编辑) | string | - | - |
| comboRowAction | 根据合并字段分组合并操作栏(需要联合comboField一起使用才生效) | boolean | false | 操作栏只保留当前组别第一顺位的操作按钮展示 |
| combo | 需要合并的行 | boolean | false | - |
<View title="设备管理" version="2"> <TableForm comboRowAction="true" comboField="siteName" model="pos_EquipmentBO" dataCondition=""> <!-- 定义行操作 --> <RecordActions label="操作"> // 该行操作栏会根据合并字段合并为一行,record默认为当前合并分组第一行的信息 <Action label="修改配置" show="#{this.record.posActivateStatus != 'ACTIVATED'}" targetView="pos_EquipmentBO_equipmentEdit"/> </RecordActions> <Fields> <Field name="siteName" label="门店" combo="true"/> <Field name="posCode" label="设备编码" combo="true"/> <Field name="udid" label="UDID"/> </Fields> </TableForm></View>
注意:当前例子为0.17.x 版本