在antd中setFieldsValue和defaultVal的用法


Posted in Javascript onOctober 29, 2020

代码如下:

componentWillMount() {
  this.props.form.setFieldsValue({
phone: this.props.maintain.account.phone,
    email: this.props.maintain.account.email
  });
  console.log(this.props.form.setFieldsValue);
}

打印出来

function setFieldsValue(fieldsValue) {
      var newFields = {};
      var fieldsMeta = this.fieldsMeta,
        fields = this.fields;  
      var virtualPaths = (0, _utils.getVirtualPat…      
undefined

更神奇的是这段代码本来运行的好好的一点问题都没有,在同事的电脑上却会出现如上问题,我的电脑也出现了这个问题但是代码没改过

后来就这样设置代码的默认值,就显示出来了

一定要加一个<div></div>

<FormItem
{...formItemLayout}
label="手机号"
>
{getFieldDecorator('phone', {
rules: [{
required: false, message: '请输入您的手机号!'
}]
})(
<div>
<Input className="content_style" addonBefore={<Icon type="mobile" />} defaultValue={maintain.account.phone} />
</div>
)}
</FormItem>

补充知识:antd4中Form组件initialValues设置初始值无效,使用setFieldsValue动态赋值,getFieldsValus动态获取值

首先说明initialValues这个属性,这个属性antd官方给的是设置Form组件初始值,但是有个问题如果值从后端请求那么initialValues可能会设置不上,如果说用匿名组件的话,修改From组件会导致一系列问题,

接下来就是用到了setFieldsValue和getFieldsValus属性

在antd官网中说明form组件不能使用this.setState修改值,

只能通过setFieldsValue来设置,

通过getFieldsValus来获取

首先通过getFieldsValus来动态获取值

export default class List extends Component {
  //第一步
  formRef = React.createRef();
 }

第二步

使用ref

<Form
   {...layout}
   name="basic"
   //这里  formRef在第一步中可以看到
   ref={this.formRef}
   
   //initialValues 设置初始值
   initialValues={this.state.formInitValues}
   //validateMessages 统一处理错误信息
   validateMessages={this.validateMessages}
   //form submit点击之后成功回调
   onFinish={onFinish}
   //form submit点击之后失败回调
   onFinishFailed={onFinishFailed}
 >
</Form>

使用setFieldsValue

注意:sell_linkman是Form中item的字段名,需要给那个字段赋值用这个就ok,可以写在你事件中

this.formRef.current.setFieldsValue({
   sell_linkman: value,
 })

使用getFieldsValue

‘sell_linkman'是form中item字段名

this.formRef.current.getFieldsValue('sell_linkman')

以上这篇在antd中setFieldsValue和defaultVal的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 时间显示效果代码
Aug 23 Javascript
jQuery前台数据获取实现代码
Mar 16 Javascript
在Node.js中使用HTTP上传文件的方法
Jun 23 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 Javascript
关于javascript的一些知识以及循环详解
Sep 12 Javascript
JavaScript实现垂直滚动条效果
Jan 18 Javascript
jQuery列表检索功能实现代码
Jul 17 jQuery
webpack构建vue项目的详细教程(配置篇)
Jul 17 Javascript
Vue在页面数据渲染完成之后的调用方法
Sep 11 Javascript
详解小程序input框失焦事件在提交事件前的处理
May 05 Javascript
webpack安装配置与常见使用过程详解(结合vue)
Jun 01 Javascript
微信小程序 接入腾讯地图的两种写法
Jan 12 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
Oct 29 #Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 #Javascript
Antd中单个DatePicker限定时间输入范围操作
Oct 29 #Javascript
微信小程序实现可长按移动控件
Nov 01 #Javascript
Vue时间轴 vue-light-timeline的用法说明
Oct 29 #Javascript
antd日期选择器禁止选择当天之前的时间操作
Oct 29 #Javascript
vue制作toast组件npm包示例代码
Oct 29 #Javascript
You might like
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
javaScript arguments 对象使用介绍
2013/10/18 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
JS实现的手机端精简幻灯片效果
2016/09/05 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
zookeeper python接口实例详解
2018/01/18 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
Python pymongo模块常用操作分析
2018/09/01 Python
Python中的取模运算方法
2018/11/10 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
国际贸易专业个人鉴定
2014/02/22 职场文书
百年校庆节目主持词
2014/03/27 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle