遇到一个场景,需要初始化数据,初始化之后需要校验,然后手动设置结果。
ant Design版本:5.6.3
看到setFields方法很合适,于是就直接拿来用了。
发现无论怎么设置,都只能设置上值,但是errors就是设置不上。
后来知道问题的原因:
因为表单元素是根据初始化数据进行渲染的,也就是说页面一开始没有挂载input等控件,等到第一次setFields之后,formData中有了这些值之后才渲染,而setFields中的errors(包括warnings)字段,都是需要在组件挂载后才能生效。
结论:不要在组件初次挂载到DOM之前控制其erros的内容