Antd Select组件结合使用出现must set key for <rc-animate> children问题
一、以下情况可能导致错误发生
出现这个问题的首要条件是因为Select的mode 设置成
multipleortags
1. Select的defaultValue使用了空字符串
例如:
const emptyValue = ''
const emptyValueArr = ['1', '']
<Select
mode="tags"
defaultValue= emptyValue || emptyValueArr
>
{
[1, 2].map((item, index) => (
<Option key={index} value={item}>{item}</Option>
))
}
</Select>
2. 结合Form的initialValue包含空字符串
<FormItem {...formItemLayout} label="负责人">
{getFieldDecorator('ownersAsList', {
rules: [{
required: true,
message: '负责人不能为空'
}],
initialValue: ownersAsList || ['']
})(
<Select
mode="tags"
>
{
ownersList.map((item, index) => (
<Option key={index} value={item}>{item}</Option>
))
}
</Select>
)}
</FormItem>
二、解决办法
1. 如果你不需要默认值, 直接设置为空数组: defaultValue = []
注意: 空数组 != 含空字符串数组
<Select
mode="tags"
defaultValue = []
>
{
[1, 2].map((item, index) => (
<Option key={index} value={item}>{item}</Option>
))
}
</Select>
2. 如果希望有默认选中值: initialValue: ownersAsList || ['默认值']
<FormItem {...formItemLayout} label="负责人">
{getFieldDecorator('ownersAsList', {
rules: [{
required: true,
message: '负责人不能为空'
}],
initialValue: ownersAsList || ['默认值']
})(
<Select mode="tags" >
{
ownersList.map((item, index) => (
<Option key={index} value={item}>{item}</Option>
))
}
</Select>
)}
</FormItem>
Antd Select组件结合使用出现must set key for <rc-animate> children问题的更多相关文章
- antd Select进阶功能 动态更新、函数防抖
一.动态更新Options Antd Select自带的搜索功能很多时候需要结合后端的接口,输入一个关键字的时候会自动更新选择器的选项. 下面列一些注意点 基础实现 选择器选项必须和每次更新的数据挂钩 ...
- 改变select组件的option选中状态的快捷方法
以前我都是在<option>标签处通过判断value是否与其中一个相同然后输出selected="selected"来处理的,今天发现可以直接能过Js改变<sel ...
- select组件2
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- select组件
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 如何实现select组件的选择输入过滤作用
实现select组件的选择输入过滤作用的js代码如下: /** *其中//******之间的部分显示的是在没有选择输入过滤功能的代码上加入的功能代码 ** / (function ( $ ) { $. ...
- freemarker写select组件(一)
freemarker写select组件 1.宏定义 <#macro select id datas> <select id="${id}" name=" ...
- freemarker写select组件报错总结(一)
1.具体错误如下 六月 25, 2014 11:26:29 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template pr ...
- freemarker写select组件(五)
freemarker写select组件 1.宏定义 <#macro select id datas value="" key="" text=" ...
- freemarker写select组件(四)
freemarker写select组件 1.宏定义 <#macro select id datas value="" key="" text=" ...
随机推荐
- 关于autofac的一些具体的用法
简介:Autofac是一个.net下非常优秀,性能非常好的IOC容器(.net下效率最高的容器) 1.nuget 引用 2.创建两个类库项目,IService (用于编写接口),ServiceImpl ...
- Django---框架简介和工程搭建
Django框架 一.Django介绍 二.Django工程搭建 回到顶部 一.Django介绍 1.简介 Django的主要目的是简便.快速的开发数据库驱动的网站.它强调代码复用,多个组件可以 ...
- Spark DateType cast 踩坑
前言 在平时的 Spark 处理中常常会有把一个如 2012-12-12 这样的 date 类型转换成一个 long 的 Unix time 然后进行计算的需求.下面是一段示例代码: val sche ...
- windows----------如何禁用PC端微信的开机启动
1.开始菜单--->运行--->输入msconfig 2.如下图,然后点击启动 3.打开任务管理器 4.右键wechat,然后禁用.
- java学习之方法内部类
*方法内部类 * 在类中的方法内定义一个类 * 注意: * 1 方法内部类只能在类的方法内实例化不可以在此方法外实例化 * 2 .方法内部类对象只能用所在方法体中的变量不能改,jdk1.8可以 * 以 ...
- JavaScript字符串字节长度
var txt2="He中!!";var t = txt2.replace(/[^\u0000-\u00ff]/g,"aa").length;//值是7
- [NOIP2017普及组]棋盘
题目 题目描述 有一个m × m的棋盘,棋盘上每一个格子可能是红色.黄色或没有任何颜色的.你现在要从棋盘的最左上角走到棋盘的最右下角. 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的),你只 ...
- Maven项目集成Jetty
1.新建webapp maven项目. 项目目录结构如下. 2.pom文件添加jetty构建. <project xmlns="http://maven.apache.org/POM/ ...
- Oarcle之序列
序列:是一种数据库对象,用来自动产生一组唯一的序号: 序列:是一种共享式的对象,多个用户可以共同使用序列中的序号. 创建序列 create sequence seq_emp_temp incremen ...
- oracle密码过期问题解决
1.查看open用户 select username,account_status,expiry_date,profile from dba_users; 2.查看目前密码过期策略 select * ...