antd From表单如何实时获取数据,onChange的不是最新的

很不安怎去优雅
  • 399

我想表单的数据变化后,就获取整个表单的数据,但是我通过onChange触发再getFieldsValue这样获取的数据不是最新的。有什么办法能解决

33.png

回复
阅读 9k
2 个回答

被设置了name属性的Form.Item包装的控件,表单控件会自动添加value(或valuePropName指定的其他属性)onChange(或trigger指定的其他属性),数据同步将被 Form 接管,这会导致以下结果:

  1. 不再需要也不应该onChange来做数据收集同步(你可以使用 Form 的onValuesChange),但还是可以继续监听onChange事件。
  2. 你不能用控件的valuedefaultValue等属性来设置表单域的值,默认值可以用 Form 里的initialValues来设置。注意initialValues不能被setState动态更新,你需要用setFieldsValue来更新。
  3. 你不应该用setState,可以使用form.setFieldsValue来动态改变表单值。
https://ant.design/components...最新版本的文档

看你的意思应该是要在onChange里获取值吧,onChange的第一个参数就是选择的值
image.png

宣传栏