在antd4.0中Form使用initialValue操作


Posted in Javascript onNovember 02, 2020

悲伤

一开始一直以为initialValue是个好东西,这样我每次编辑的时候把数据传过来就行,后来发现不得行!给大家看看

在antd4.0中Form使用initialValue操作

就离谱,后面认真看了一下文档才知道这个玩意是默认值,第一次有了之后就一直是这个。

然后我在网上看用resetFields()这个方法,每次提交或者取消之后重置一下数据,然而我试了还是不得行,会变成每次点击显示的是上一次的数据,所以后面还是老老实实看了一下form的其他方法。

贴个图

在antd4.0中Form使用initialValue操作

解决

放弃initialValue

const [form] = useForm()

form.setFielsValue(currentItem)

用form带的设置数据方法。这样能够保证每次都是最新的。

随手一贴

也没啥上下文,就将就着看写法就行!!

const { visible, onEdit, onCancel, type, currentItem, ...modalProps } = props;
 const [form] = useForm()
 useEffect(() => {
 form.setFieldsValue({ ...currentItem });
 }, [visible])

 const onOk = () => {
 form.validateFields().then((values: any) => {
 onEdit(values)
 })
 }

补充知识:antd Form表单initialValue设置无效的问题之一

在表格数据中,编辑数据时用到的表单需要使用initialValue 来设置初始值,

以下写法会导致initialValue设置无效。

当表单组件被<></> ,< div></ div> 等包裹时,initialValue设置无效

// initialValue 设置无效的写法
<Form.Item label="xxx">
 {getFieldDecorator('xxx',{
 initialValue:'default'
})(
 <>
 <Input />
 <span>....</span>
 </>
) 
 }
</Form.Item>

// 正确的写法
<Form.Item label="xxx">
 {getFieldDecorator('xxx',{
 initialValue:'default'
})(
 <Input />
) 
 }
 // <span></span>
</Form.Item>

以上这篇在antd4.0中Form使用initialValue操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
Mar 01 Javascript
js控制滚动条缓慢滚动到顶部实现代码
Mar 20 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 Javascript
js Canvas实现圆形时钟教程
Sep 19 Javascript
同步异步动态引入js文件的几种方法总结
Sep 23 Javascript
javascript 分号总结及详细介绍
Sep 24 Javascript
JavaScript模块模式实例详解
Oct 25 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
微信小程序iOS下拉白屏晃动问题解决方案
Oct 12 Javascript
使用Node.js实现base64和png文件相互转换的方法
Mar 11 Javascript
Vue 禁用浏览器的前进后退操作
Sep 04 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
JavaScript实现刮刮乐效果
Nov 01 #Javascript
You might like
以文本方式上传二进制文件的PHP程序
2006/10/09 PHP
PHP 采集获取指定网址的内容
2010/01/05 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
Js获取事件对象代码
2010/08/05 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
Python 登录网站详解及实例
2017/04/11 Python
python 日期操作类代码
2018/05/05 Python
pandas重新生成索引的方法
2018/11/06 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
如何基于Python实现数字类型转换
2020/02/07 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
HTML5 Canvas阴影使用方法实例演示
2013/08/02 HTML / CSS
HTML5 自动聚焦(autofocus)属性使用介绍
2013/08/07 HTML / CSS
法学专业自我鉴定
2014/02/05 职场文书
护士个人自我鉴定
2014/03/24 职场文书
个人授权委托书范文
2014/09/21 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
退休欢送会主持词
2015/07/01 职场文书