ANTD踩坑(Form表单validator)

Form表单使用validator时,在function中使用setFieldsValue踩到的坑。

今天在使用Form表单的校验规则时,使用了validator属性。

参数          说明                                                             类型                                              默认值

validator   自定义校验(注意,callback 必须被调用) function(rule, value, callback)       -

由于业务需求,该校验规则需要调取接口,将选择的年份传至后端,如果该年份数据存在,我需要将接口中返回的数据填入Form表单中让用户直接使用或修改。出于投机的原因,我直接在validator校验函数中,使用了this.prop.form.setFieldsValue({...res.data})。数据的确被填入了Form表单,但是在我修改数据后,提交表单时,被修改的数据又还原成了接口返回的数据!

后面才想到,提交表单时,表单再次做了校验!所以validator也被再次调用,表单中的值在被提交之前被重置为接口返回的值了!

提交时,validator再次被调用。

(我可真菜...)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容