解决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 相关文章推荐
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
Jan 25 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
Aug 09 Javascript
jQuery 三击事件实现代码
Sep 11 Javascript
JavaScript使用RegExp进行正则匹配的方法
Jul 11 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
May 10 Javascript
jquery实现界面无刷新加载登陆注册
Jul 30 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
Oct 13 Javascript
解决React Native端口号修改的方法
Jul 28 Javascript
vue中如何让子组件修改父组件数据
Jun 14 Javascript
vue-router两种模式区别及使用注意事项详解
Aug 01 Javascript
Vue v-model组件封装(类似弹窗组件)
Jan 08 Javascript
Vue+Java+Base64实现条码解析的示例
Sep 23 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通用防注入程序 推荐
2011/02/26 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
你必须知道的Javascript知识点之&quot;this指针&quot;的应用
2013/04/23 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Tensorflow设置显存自适应,显存比例的操作
2020/02/03 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
荷兰和比利时时尚鞋店:Van Dalen
2018/04/23 全球购物
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
The North Face北面荷兰官网:美国著名户外品牌
2019/10/16 全球购物
平安校园建设方案
2014/05/02 职场文书
关于安全演讲稿
2014/05/09 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
结对共建协议书
2014/08/20 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
离婚协议书样本
2015/01/26 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
具结保证书范本
2015/05/11 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书