在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 相关文章推荐
从零开始学习jQuery (二) 万能的选择器
Oct 01 Javascript
jquery实现奇偶行赋值不同css值
Feb 17 Javascript
js获取html参数及向swf传递参数应用介绍
Feb 18 Javascript
jquery中 $.expr使用实例介绍
Jun 09 Javascript
Javscript调用iframe框架页面中函数的方法
Nov 01 Javascript
jQuery滚动加载图片实现原理
Dec 14 Javascript
Bootstrap所支持的表单控件实例详解
May 16 Javascript
Bootstrap table的使用方法
Nov 02 Javascript
Express使用html模板的详细代码
Sep 18 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
Sep 18 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
Aug 10 Javascript
JavaScript实现网页跨年倒计时
Dec 02 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模拟js函数unescape的函数代码
2012/10/20 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
jQuery的一些注意
2006/12/06 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
python实现用于测试网站访问速率的方法
2015/05/26 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
零件设计自荐信范文
2013/11/27 职场文书
师范生求职信
2014/06/14 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
SpringBoot 集成Redis 过程
2021/06/02 Redis
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js