Skip to content

子表单


image

介绍

可嵌套在父表单中、支持动态增删和验证的复合型输入控件,用于高效管理一组结构重复的数据条目。

API

Props

参数名描述类型默认值
status状态'default' |'disabled'| 'hide''default'
title标题string'子表单'
showLabel显示标题booleantrue
value编辑默认值{[key: string]: any}[]''
name数据字段string${组件编码}_${长度为8的随机字符串}
showIndexCol显示序号booleantrue
indexColWidth序号列列宽number70
rowDraggable拖动排序booleanfalse
fixedLeft冻结左侧列0|1|2|30
addBtnTitle新增按钮名称string-
addBtnStatus新增按钮状态'normal'|'disabled'|'hide''normal '
batchDelete批量删除booleanfalse
maxCount最大条数number-
showExcelExport导出Excelbooleantrue
showActionCol显示操作列booleantrue
fixedActionCol冻结操作列booleantrue
showCopyBtn复制按钮booleantrue
copyBtnDisableConditions按条件禁用Function'function action(ctx, params) { return false; }'
copyBtnTitle复制按钮名称string-
copyToBottomText'复制到底部'文案string-
copyToNextRowText'复制到下一行'文案string-
showRemoveBtn删除按钮booleantrue
removeBtnDisableConditions按条件禁用Function'function action(ctx, params) { return false;}'
removeBtnTitle删除按钮名称string-
showRemoveConfirm删除确认booleantrue
removeConfirmContent删除确认文案string-
showBatchImport批量导入booleanfalse
uploadAction解析接口地址string-
uploadHeaderData上传请求header附加的数据object-
uploadData上传请求附加的数据object-
pagination使用分页booleanfalse
pageSize每页展示数量string-
validate校验Validate-
baseStyle自定义样式string-
customClass类名绑定string-
boxStyle盒模型 , margin,border,padding设置BoxStyle-
scrollWidth滚动容器宽度string-
scrollHeight滚动容器高度string-
actionColWidth操作列string120
columnResizable是否允许调整列宽booleanfalse
isCustomColWidths自定义其他列宽booleanfalse
colWidths其他列宽度{[key: string]: number}[][key: string]: 200}[]
isTableHeaderGroup表头分组,开启表头分组后可对每列的分组标题进行设置,相邻列的分组标题相同的将合并为复合表头booleanfalse
tableHeaderGroupTitle分组标题配置,预览时查看效果{[key: string]: string}[]{[key: string]: ""}[]
uniqueKey唯一标识 , 组件的唯一标识string-
rowHandler行数据处理Function'function handleRow(ctx,row) { }'
hideWhenEmptyReadonly只读状态数据为空时隐藏booleanfalse
tip气泡提醒string-
loop循环, 循环渲染设置Loop-

Props-自定义操作项

参数名描述类型默认值
title标题string-
disableConditions按条件禁用Function'function action(ctx, params) { return false;}'
status默认状态'default'|'disabled'|'hide''default'

Events

事件名描述参数
onChange子表单值发生变化ctx
params: {[key: string]: any}[]
beforeAddClick添加回调执行前ctx
params: {data:{[key: string]: any}[],newRow:{[key: string]: any} }
onAddClick点击添加ctx
params: {data:{[key: string]: any}[],newRow:{[key: string]: any} }
beforeCopyClick复制回调执行前ctx
params: {data:{[key: string]: any}[],newRow:{[key: string]: any} }
onCopyClick点击复制ctx
params: {data:{[key: string]: any}[],newRow:{[key: string]: any} }
beforeRemoveClick删除回调执行前ctx
params: {data:{[key: string]: any}[],row:{[key: string]: any} }
onRemoveClick点击删除ctx
params: {data:{[key: string]: any}[],row:{[key: string]: any} }
beforeImportData批量导入数据前执行ctx
params: {data:{[key: string]: any}[] }
onNodeValueChange各表单组件值发生变化ctx
params: onNodeValueChangeParams

Events - 自定义操作项

事件名描述参数
onClick点击按钮ctx
params: {record:{[key: string]: any}, rowIndex:number}

Type

javascript

// 各表单组件值发生变化参数
type onNodeValueChangeParams = {
  delegate:SubFormDelegate,
  eventParams:{valueanyrowData:{[key: string]: any}}[],
  isMount: boolean,
  nodes: {[key: string]: any},
  subformRow: {
    name: string,
    rowData: {[key: string]: any},
    rowIndex: number
  }
}

常见场景配置

导入接口格式说明

javascript
// 导入接口传参(默认)
{
  file: excel文件
  columnList: Array 子表单内的组件编码列表,:["HiInput", "HiRadio", ...]
}

// 导入接口返回值格式示例
{
    "alert": "0",
    "code": "0",
    "data": {
        "filename": "库存余量模版 - 副本.xlsx",
        "data": [
            {
                "A": "[\"https://pangea.hisense.com/img/index/img-index-topic.png\",\"https://pangea.hisense.com/assets/images/readme-1-1f717aef0a4c2ab182ffb12721f087ad.png\"]",
                "B": "1",
                "C": "[\"https://pangea.hisense.com/img/index/img-index-topic.png\",\"https://pangea.hisense.com/assets/images/readme-1-1f717aef0a4c2ab182ffb12721f087ad.png\"]",
                "D": "2020-02-02",
                "E": "{\"ldapFullPath\":\"海信集团\\\\集团公司\\\\流程IT与数据管理部\\\\基础架构与云服务管理部\",\"loginName\":\"yangshuo4\",\"userName\":\"杨硕\"}",
                "F": "{\"orgCode\":\"HB19922045534\",\"orgName\":\"集团公司\"}"
            }
        ],
        "header": {
            "A": "图片上传",
            "B": "开关",
            "C": "附件上传",
            "D": "日期",
            "E": "成员",
            "F": "部门"
        },
        "sheet": "Sheet1"
    },
    "msg": "Successful operation",
    "ts": "1705544709573"
}
// excel填写格式
下拉选择/单选钮:选项值
下拉复选/复选框:选项1,选项2
开关:true/false
用户:账号,多个用逗号隔开,例如:gaohongmei2,duyi,填写多个时需要组件开启多选
部门:部门全路径,多个用逗号隔开,例如:集团公司/海信集团,填写多个时需要组件开启多选
图片/附件:先写以http或https开头的资源地址,多个用逗号隔开

注意:以上的逗号都为英文字符逗号。