解决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学习笔记之jQuery的事件
Dec 22 Javascript
表单JS弹出填写提示效果代码
Apr 16 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
Jan 15 Javascript
JavaScript之编码规范 推荐
May 23 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
Apr 28 Javascript
jquery设置元素的readonly和disabled的写法
Sep 22 Javascript
vue单页应用中如何使用jquery的方法示例
Jul 27 jQuery
微信小程序实现顶部普通选项卡效果(非swiper)
Jun 19 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
Jan 17 Javascript
浅析vue插槽和作用域插槽的理解
Apr 22 Javascript
vue路由守卫,限制前端页面访问权限的例子
Nov 11 Javascript
vue2路由基本用法实例分析
Mar 06 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
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
php查询ip所在地的方法
2014/12/05 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
ASP Json Parser修正版
2009/12/06 Javascript
js带按钮的提示框可供选择示例代码
2013/09/17 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
vue-cli项目中使用echarts图表实例
2018/10/22 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
pandas计数 value_counts()的使用
2019/06/24 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
Python全栈之列表数据类型详解
2019/10/01 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
竞选班干部演讲稿
2014/04/24 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
综合素质自我评价评语
2015/03/06 职场文书
2015年采购员工作总结
2015/04/27 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android