test_sub-form.gif
子表单是一种实现一对多关系中明细数据展示、编辑的容器组件。
子表单内只能放置字段组件,不能放置其他容器组件。
一个表单可以包含多个子表单组件。

子表单支持交互事件和API方法,可以实现复杂的交互逻辑。

通过交互事件和API方法,可实现子表单的自动更新小计和累计功能 参见:https://www.yuque.com/visualdev/vform/ely8qk

交互事件

交互事件可在表单设计器中编写事件处理代码。

事件名称 说明 回调参数
onSubFormRowAdd 子表单新增行时触发 (subFormData, newRowIndex):
新增后的子表单数据,新增行索引
onSubFormRowInsert 子表单插入行时触发 (subFormData, newRowIndex):
插入后的子表单数据,新增行索引
onSubFormRowDelete 子表单删除行时触发 (subFormData, deletedDataRow):
删除后的子表单数据,删除行数据
onSubFormRowChange 子表单新增行、插入行、删除行时触发 (subFormData):
变化后的子表单数据

API方法

方法名 说明 参数
getFormRef 获取VFormRender组件
getWidgetRef 获取容器或字段组件 (widgetName, showError):
组件名称,如组件不存在是否显示错误
setHidden 设置是否隐藏容器 true/false
disableSubFormRow 禁用子表单指定行 rowIndex:行索引
enableSubFormRow 恢复子表单指定行 rowIndex:行索引
disableSubForm 禁用子表单
enableSubForm 恢复子表单
resetSubForm 重置子表单数据为空
getSubFormValues 获取子表单数据