javascript - 怎么设置这里的key值

查看:131
本文介绍了javascript - 怎么设置这里的key值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

项目里用了ant-design
问题:红色框框是点击新增以后出来的表单

对应的 我应该怎么设计这个返回的表单的k值?也没办法包在一个父级的话= =

        const keys = getFieldValue('keys');
        let _title = actionType != "edit" ? "新增属性" : "编辑属性";
        const formItems = keys.map((k, index) => {
            return (
                <div>
                <FormItem
                  label= {'属性名'}
                  required={false}
                  key={k}
                  style={{ width:'50%', display:'inline-block'}}
                >
                  {getFieldDecorator(`names-${k}`, {
                    validateTrigger: ['onChange', 'onBlur'],
                    rules: [{
                      required: true,
                      whitespace: true,
                      message: "请输入属性名称",
                    }],
                  })(
                    <Input placeholder="请输入属性名称" style={{ width: '60%', marginRight: 8 }} />
                  )}
                </FormItem>
                <FormItem
                  label= {'属性名'}
                  required={false}
                  key={index++}
                  style={{ width:'50%', display:'inline-block'}}
                >
                  {getFieldDecorator(`names-${k}`, {
                    validateTrigger: ['onChange', 'onBlur'],
                    rules: [{
                      required: true,
                      whitespace: true,
                      message: "请输入属性名称",
                    }],
                  })(
                    <Input placeholder="请输入属性名称" style={{ width: '60%', marginRight: 8 }} />
                  )}
                  {keys.length > 0 ? (
                    <Icon
                      className="dynamic-delete-button"
                      type="minus-circle-o"
                      disabled={keys.length === 0}
                    />
                  ) : null}
                </FormItem>                    
                </div>

            );
        });

我这里用k和index++。。。,

= =

解决方案

这个是 react 在开发环境下会报的一个 warning ,目的是给循环的元素一个唯一索引,进而判断元素是否需要更新。

在你的代码中,把这个 key 加到最外层的 div 上,就可以了。

这篇关于javascript - 怎么设置这里的key值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆