跳转到内容

动态字段控制 — 场景与实战

本文介绍如何使用 hideWhendisableWhenvalueChange 实现字段的动态控制和联动。

API 参考:参数说明等详细信息请见 hideWhen / disableWhen / valueChange API

hideWhen 根据其他字段的值决定是否隐藏当前字段:

showExtra 的值为 false 时,extraField 将被隐藏。

hideWhen 可同时控制 hiddendisabled

此时当 enablefalse 时,name 字段同时被隐藏和禁用

基本用法:基于其他字段禁用编辑

Section titled “基本用法:基于其他字段禁用编辑”

disableWhen 根据其他字段的值决定是否禁用当前字段:

特性 disableWhen hideWhen({ disabled: true })
功能 仅控制 disabled 同时控制 hidden + disabled
适用场景 字段可见但不可编辑 字段不可见且不可编辑

详见 API: disableWhen

valueChange 监听字段值变化但不产生副作用,可用于自定义联动逻辑:

详见 API: valueChange

场景一:条件显示 — 支付方式切换

Section titled “场景一:条件显示 — 支付方式切换”

根据单选按钮的值切换显示不同表单区域:

当表单已提交时禁用所有编辑字段:

使用 valueChange + field.get() + updateValue() 实现多字段间的级联更新:

注意:首次监听时值为 undefined(除非设置了默认值),因此需要使用 skip(1) 跳过初始触发。

通过 valueChange 监听字段并更新其他字段: