解决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 相关文章推荐
JQuery 操作Javascript对象和数组的工具函数小结
Jan 22 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
Jul 29 Javascript
浅析JavaScript中两种类型的全局对象/函数
Dec 05 Javascript
jquery制作搜狐快站页面效果示例分享
Feb 21 Javascript
jfinal与bootstrap的登录跳转实战演习
Sep 22 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
Oct 23 Javascript
javascript+css3 实现动态按钮菜单特效
Feb 06 Javascript
jQuery+formdata实现上传进度特效遇到的问题
Feb 24 Javascript
JS弹出新窗口被拦截的解决方法
Aug 09 Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 Javascript
微信小程序实现人脸识别登陆的示例代码
Apr 02 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
php反弹shell实现代码
2009/04/22 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
php按单词截取字符串的方法
2015/04/07 PHP
功能强大的php分页函数
2016/07/20 PHP
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
深入理解Python变量与常量
2016/06/02 Python
python操作redis方法总结
2018/06/06 Python
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
Python3中exp()函数用法分析
2019/02/19 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
2019/02/26 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
python实现马丁策略的实例详解
2021/01/15 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
暑期实习鉴定
2013/12/16 职场文书
公司同意接收函
2014/01/13 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
二婚主持词
2015/06/30 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python