关于使用ant-design设计可动态添加FormItem的过程中遇到的问题记录。
来源:互联网 发布:金马甲网络交易平台 编辑:程序博客网 时间:2024/05/22 13:51
应用场景:创建一个可动态增加和删除的FormItem组合组件,由一个下拉菜单和一个文本域组成。
问题现象:按照正常的操作流程,组件可以正常的添加和删除,下拉菜单也可以正常的选择。但是如果先添加,然后删除第一个源组件,则剩下的第二个组件在选择下拉菜单的过程中就会报错,提示:
Uncaught TypeError: Cannot read property 'filter' of undefined
问题分析:通过代码的断点检查发现是在执行删除后,重新渲染后 fieldMeta 里面的值变成了空的了,但是前面的操作都没有问题,整个流程检查之后也没有发现代码有什么逻辑问题。在经过不解之后,发现在对keys做遍历生成FormItem的过程中key值使用的是map的index值,然后将key值改成便利项item的key之后,再次执行程序,问题没有了。具体问题原因应该还是React对于遍历渲染的数据记录相关。
let uuid = 0; ...... upgrade_rules.map(item =>{ if(!item.key){ item.key=++uuid; item.deviceModels = deviceModels; } });getFieldDecorator('keys', { initialValue: upgrade_rules });const keys = getFieldValue('keys');// 错误遍历代码const formItems = keys.map((k, index) => { return ( <div key={index} className={styles.rulesSection}> ...... </div> ); });//正确遍历代码const formItems = keys.map((k, index) => { return ( <div key={k.key} className={styles.rulesSection}> ...... </div> ); });
阅读全文
0 0
- 关于使用ant-design设计可动态添加FormItem的过程中遇到的问题记录。
- ant design (antd) FormItem getFieldDecorator Checkbox 无法选中的解决方案
- ant design环境搭建过程中遇到的问题--Windows-dva-cli
- 关于xstream使用过程中遇到的一些问题,记录一下
- TeamCity使用过程中遇到的问题记录
- 关于在使用(function(){})();中遇到的问题的记录
- 工作过程中遇到的问题记录
- 记录开发过程中遇到的问题
- 关于DataGridView 使用中遇到的问题记录
- 关于不同的编译器使用过程中遇到的问题!
- 关于handsontable的使用过程中遇到的问题
- 关于ant-Design的一些问题
- 记录在eclipse中使用ant遇到到的一个小问题
- 关于ActivityGroup使用过程中遇到的一点问题
- 关于ActivityGroup使用过程中遇到的一点问题
- 关于FIR IP核使用过程中遇到的问题
- 关于使用imageloader遇到的问题记录
- 网页设计过程中遇到的问题!
- Jenkins Git Maven搭建自动化部署项目环境 邮件通知
- mysql数据清洗备忘
- HADOOP源码编译
- AttributeError: 'module' object has no attribute '_base' 可行解决办法
- 查找之Hash查找
- 关于使用ant-design设计可动态添加FormItem的过程中遇到的问题记录。
- spark-shell启动报错:Yarn application has already ended! It might have been killed or unable to launch ap
- 利用栈实现算术表达式的求值
- Caffe中HDF5Data例子
- Springmvc静态资源配置
- hdu 6228 Tree
- 机房收费系统之结账
- 已知满二叉树的先序遍历,求其后序遍历
- matlab——深度学习NN