ant-design setFieldValue 无法重置错误信息

to94eoyn  于 4个月前  发布在  其他
关注(0)|答案(7)|浏览(38)

https://stackblitz.com/edit/react-1lf8yb?file=demo.tsx

Steps to reproduce

清空必填项,触发setFieldValue(),错误信息不会重置

What is expected?

如文档描述上写的一样:设置表单的值(该值将直接传入 form store 中并且重置错误信息。如果你不希望传入对象被修改,请克隆后传入)

What is actually happening?

不会重置错误信息,和文档上写的不一样
| Environment | Info |
| ------------ | ------------ |
| antd | 5.12.5 |
| React | 18.2 |
| System | windows11 |
| Browser | Chrome 120.0.6099.111 |

eivgtgni

eivgtgni1#

setFieldValue 正如其命名,只会影响 value,不会影响校验等其他信息。

如果需要完全清空,请使用 resetFields 和 setFields 。

不好意思,是我理解错了吗

qvk1mo1f

qvk1mo1f2#

setFieldsValuesetFieldValue 应该保持一致

nc1teljy

nc1teljy3#

看上去是有问题,我们再确认一下。

ycl3bljg

ycl3bljg4#

@afc163@MadCcc

antd@5.18.0 遇到同样的问题, setFieldValuesetFieldsValue 并不会重置错误信息。

bkkx9g8r

bkkx9g8r5#

读了下源码,setFieldValues 是会重置错误信息的 源码
setFieldValue 底层是调用了 setFields,setFields 默认是不会重置错误信息,需要传入参数去重置 源码

@afc163@MadCcc

li9yvcax

li9yvcax7#

setFieldValue 正如其命名,只会影响 value,不会影响校验等其他信息。

如果需要完全清空,请使用 resetFields 和 setFields 。

相关问题