
Field Condition示例中使用useWatch监听了favoriteFruit字段,导致整个form都跟随favoriteFruit在rerender。
antd v5中有dependencies / shouldUpdate可以使某个表单项只依赖部分表单项,可减少render次数以提高性能,但是发现这种方式目前NiceForm并不支持:
{
key: 'otherFruit',
label: 'Other',
dependencies: ['favoriteFruit'],
condition: () => NiceForm.getFieldValue('favoriteFruit', meta, form) === 'Other',
}
源码中condition逻辑是在FormField中,实际上只会在整个form render 时执行:

可以将condition / render逻辑转移到adapter中的renderField,但这样对 adapter 是 breaking change
