在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 相关文章推荐
浅析javascript闭包 实例分析
Dec 25 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
Aug 14 Javascript
详解javascript传统方法实现异步校验
Jan 22 Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 Javascript
微信小程序进行微信支付的步骤昂述
Dec 01 Javascript
js oncontextmenu事件使用详解
Mar 25 Javascript
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 Javascript
vue+axios 前端实现的常用拦截的代码示例
Aug 23 Javascript
解决vue.js 数据渲染成功仍报错的问题
Aug 25 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
jQuery 查找元素操作实例小结
Oct 02 jQuery
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
ThinkPHP之getField详解
2014/06/20 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
一段多浏览器的&quot;复制到剪贴板&quot;javascript代码
2007/03/27 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
jQuery 生成svg矢量二维码
2016/08/09 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
Vue自定义事件(详解)
2017/08/19 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
Python代码缩进和测试模块示例详解
2018/05/07 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
中国电视购物:快乐购
2017/02/04 全球购物
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
毕业生个人求职的自我评价
2013/10/28 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
房地产开盘策划方案
2014/02/10 职场文书
捐资助学感谢信
2015/01/21 职场文书
初中信息技术教学反思
2016/02/16 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android
python数字图像处理实现图像的形变与缩放
2022/06/28 Python