Vue + Ant Design form表单的一些坑

本文介绍了在使用Vue + Ant Design进行表单开发时遇到的两个主要问题:设置默认值的错误警告以及自定义v-decorator组件的问题。针对这些问题,提供了使用lodash.pick和object.assign设置表单值,以及通过Promise处理异步判断的解决方案,并讲解了自定义组件中设置默认值的正确方式。
摘要由CSDN通过智能技术生成

最近在用 vue + ant 写项目发现 from 组件的坑还是比较多的

  1. 设置默认值的坑

控制台报 Warning: You cannot set a form field before rendering a field associated with the value. You can use getFieldDecorator(id, options) instead v-decorator="[id, options]" to register it before render.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XSxUJCu6-1655445222471)(https://juejin.cn/ “点击并拖拽以移动”)]​

问题原因: 产生此问题的原因是 调用 setFieldsValue 方法时 入参对象设置了一些不该存 在 或页面异步判断的一些值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cbZ1cFOv-1655445222471)(https://juejin.cn/ “点击并拖拽以移动”)]​

此时的 row 是直接调用接口拿到的数据 有一些其他不需要设置的值 如创建时间, 这时候就会报错

解决思路: 使用 lodash.pick 方法和 object.assign 来设置需要渲染表单的值

优化后:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值