【 antd 】Form表单组件,“change“ 不生效
一、问题描述
表单项变动时,没有触发表单校验,只有提交时,才触发了表单校验
二、原因分析
Form.Item 会对唯一子元素进行劫持,并监听 blur 和 change 事件,来达到自动校验的目的,所以请确保表单域没有其它元素包裹。如果有多个子元素,将只会监听第一个子元素的变化。
三、解决方法
1、在表单项内包一层(一个 item 多个 input 校验也可以使用这种方法)
2、关联表单域
@blur="() => {$refs.name.onFieldBlur()}"
@change="() => {$refs.name.onFieldChange()}"