解决antd 表单设置默认值initialValue后验证失效的问题


Posted in Javascript onNovember 02, 2020

方法一:

getFieldDecorator没有第三个参数,如果写了3个参数就会出错

错误代码:

<Form.Item>
   {
    getFieldDecorator('userName', { initialValue: 'Tom' },{
    rules: [{
     required: true, message: '请输入用户名',
    }],
    })(
    <Input placeholder='请输入用户名'/>
    )
   }
</Form.Item>

正确代码:

<Form.Item>
 {
 getFieldDecorator('userName',{
  initialValue:'Tom',
  rules:[
   {required: true,message:'请输入用户名'}
    ]
   })(
   <Input placeholder='请输入用户名'/>
   )
}
</Form.Item>

方法二:通过setFieldsValue来设置默认值可以解决

this.props.form.setFieldsValue({
 inputValue1:this.state.inputValue1,
 inputValue2:this.state.inputValue2,
 inputValue3:this.state.inputValue3,
});

如果还不能解决,查看是否在表单提交函数里写了验证代码

handleSubmit = (e) => {
  e.preventDefault();
  this.props.form.validateFields((err) => {
   if (err) {
    console.log('表单验证失败');
   }else{
    this.handleOk();//这里是表单验证成功执行的函数
    
   }
  });
 
 };

补充知识:antd自定义组件初始值没有返回或者设置initialValue,form.validateFields不会执行验证

在自定义组件中加个componentDidMount返回初始值就可以啦

componentDidMount() {
  const { onChange } = this.props;
  onChange({
   ...this.state,
  });
 }

以上这篇解决antd 表单设置默认值initialValue后验证失效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现单一html页面两套css切换代码
Apr 11 Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
Mar 04 Javascript
JavaScript的Date()方法使用详解
Jun 09 Javascript
AngularJS实现全选反选功能
Dec 08 Javascript
js实现跨域的多种方法
Dec 25 Javascript
一步步教大家编写酷炫的导航栏js+css实现
Mar 14 Javascript
vue-router路由与页面间导航实例解析
Nov 07 Javascript
vue.js实现只弹一次弹框
Jan 29 Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 Javascript
浅谈vue异步数据影响页面渲染
Oct 29 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
Jul 27 Javascript
在antd4.0中Form使用initialValue操作
Nov 02 #Javascript
vue+iview使用树形控件的具体使用
Nov 02 #Javascript
在antd Form表单中select设置初始值操作
Nov 02 #Javascript
react+antd 递归实现树状目录操作
Nov 02 #Javascript
antd form表单数据回显操作
Nov 02 #Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 #Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
Nov 01 #Javascript
You might like
牡丹941资料
2021/03/01 无线电
使用PHP维护文件系统
2006/10/09 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
php简单判断文本编码的方法
2015/07/30 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
php实现数据库的增删改查
2017/02/26 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
简单的js计算器实现
2016/10/26 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
Python 转义字符详细介绍
2017/03/21 Python
Python正则表达式指南 推荐
2018/10/09 Python
python中安装django模块的方法
2020/03/12 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
2021/02/01 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
办公室文员工作职责
2014/01/31 职场文书
网络技术专业推荐信
2014/02/20 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis
Rust中的Struct使用示例详解
2022/08/14 Javascript