FormCreate 提供了强大的组件联动功能,通过 control 配置项实现组件的加载、显示、禁用和必填等状态控制。本文将详细介绍组件联动的配置项及其用法,并通过多个示例帮助您在实际业务场景中灵活应用这些功能。
Github | Gitee
数据结构
method 选项
- display: 控制组件的显示状态
- hidden: 控制组件的渲染状态(无 DOM 元素)
- required: 控制组件是否必填
- disabled: 控制组件的禁用状态
condition 选项
- ==: 全等
- !=: 不全等
- <>: 不全等
- \>: 组件值大于value
(Number)
- \>=: 组件值大于等于value
(Number)
- \>=: 组件值大于等于value
(Number)
- \<: 组件值小于value
(Number)
- \<=: 组件值小于等于value
(Number)
- in: 组件值存在于value
(Array)
中 - notIn: 组件值不存在于value
(Array)
中 - on: value存在于组件值
(Array)
中 - notOn: value不存在于组件值
(Array)
中 - between: 组件值在value
(Array)
的区间中,组件值>value[0] && 组件值<value[1]
- notBetween: 组件值不在value
(Array)
的区间中 - empty: 组件值为空时
- notEmpty: 组件值不为空时
- pattern: 正则表达式验证
属性说明
- value : 当组件的值和
value
全等时加载rule
中的组件
- handle
Function
: 当handle
方法返回true
时加载rule
中的组件
- rule
string[]|Rule[]
: 控制当前表单中对应的field/name
是否显示
- method
string
: 控制当前表单中对应的field/name
是否禁用
- condition
string
: 当value
!=组件值时加载rule
中的组件
- append
string
: 将rule
中的规则追加到goods_name
后的位置
- prepend
string
: 将rule
中的规则插入到goods_name
前的位置
- child
boolean
: 将rule
插入到goods_name
组件的children
中
业务场景示例
根据单选框选择控制表单显示
在实际业务中,常常需要根据用户的选择动态展示不同的表单字段。以下示例展示了如何使用 control 根据单选框的选择值来控制其他字段的显示与隐藏。
在这个例子中,当用户选择 选项A 时,会动态显示一个名为 input_A 的输入框;而当选择 选项B 时,则显示 input_B 输入框。
根据用户输入的值控制字段是否必填
有时候,某个字段的必填状态取决于用户在另一个字段中的输入。例如,如果用户输入的金额超过某个值,系统会要求提供额外的备注。
在此场景中,当 amount 字段的值大于 100 时,remarks 字段将变为必填项。
根据复选框选中情况动态显示多个字段
当用户在复选框中选择多个选项时,表单可以动态显示与选项相关联的多个字段。
此示例中,用户选择 阅读、运动 或 音乐 时,将分别显示对应的输入框,要求用户填写具体的内容。
根据日期选择控制时间选择器的可用状态
在一些场景下,用户选择的日期可能会影响表单中其他字段的可用性。例如,选择未来日期时,时间选择器才会启用。
在该场景中,只有在用户选择了未来日期时,time 字段的时间选择器才会启用。
根据用户选择的商品类别动态加载对应的属性字段
假设一个电商系统中,用户在添加商品时需要选择商品的类别,不同类别的商品有不同的属性。可以通过组件联动功能动态加载对应的属性字段。
在这个例子中,选择 电子产品 会动态显示品牌和型号字段,而选择 服装 则会显示尺寸和材质字段。
基于多条件组合控制字段显示
有时,表单字段的显示取决于多个条件的组合。以下示例展示了如何使用 control 配置多条件逻辑来控制字段的显示:
通过 [control]配置项,您可以轻松实现表单中各个组件之间的复杂联动逻辑,极大提升表单的动态性与用户体验。无论是简单的显示隐藏,还是复杂的条件加载,都可以通过上述方式进行配置。