解决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封装的textarea操作方法集合(兼容很好)
Nov 16 Javascript
一个轻量级的javascript库 pj介绍
Dec 19 Javascript
DWZ刷新dialog解决方法
Mar 03 Javascript
jquery基础教程之deferred对象使用方法
Jan 22 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
Jun 23 Javascript
jQuery实现表格行上移下移和置顶的方法
May 22 Javascript
AngularJS中的Promise详细介绍及实例代码
Dec 13 Javascript
浅谈webpack4.x 入门(一篇足矣)
Sep 05 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
Apr 17 Javascript
详解一个小实例理解js原型和继承
Apr 24 Javascript
npm 语义版本控制详解
Sep 10 Javascript
js面向对象编程OOP及函数式编程FP区别
Jul 07 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的curl实现get和post的代码
2008/08/23 PHP
php 错误处理经验分享
2011/10/11 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
Extjs学习笔记之七 布局
2010/01/08 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
PHP PDO操作总结
2014/11/17 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
jQuery.each使用详解
2015/07/07 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
基于JavaScript实现移动端无限加载分页
2017/03/27 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
Python os模块学习笔记
2015/06/21 Python
Python基于BeautifulSoup爬取京东商品信息
2020/06/01 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
大学生社会实践方案
2014/05/11 职场文书
美食节目策划方案
2014/05/31 职场文书
纪检监察立案决定书
2015/06/24 职场文书
小学生教师节广播稿
2015/08/19 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技