一、以下情况可能导致错误发生

出现这个问题的首要条件是因为Select的mode 设置成multiple or tags

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问题的更多相关文章

  1. antd Select进阶功能 动态更新、函数防抖

    一.动态更新Options Antd Select自带的搜索功能很多时候需要结合后端的接口,输入一个关键字的时候会自动更新选择器的选项. 下面列一些注意点 基础实现 选择器选项必须和每次更新的数据挂钩 ...

  2. 改变select组件的option选中状态的快捷方法

    以前我都是在<option>标签处通过判断value是否与其中一个相同然后输出selected="selected"来处理的,今天发现可以直接能过Js改变<sel ...

  3. select组件2

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  4. select组件

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  5. 如何实现select组件的选择输入过滤作用

    实现select组件的选择输入过滤作用的js代码如下: /** *其中//******之间的部分显示的是在没有选择输入过滤功能的代码上加入的功能代码 ** / (function ( $ ) { $. ...

  6. freemarker写select组件(一)

    freemarker写select组件 1.宏定义 <#macro select id datas> <select id="${id}" name=" ...

  7. freemarker写select组件报错总结(一)

    1.具体错误如下 六月 25, 2014 11:26:29 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template pr ...

  8. freemarker写select组件(五)

    freemarker写select组件 1.宏定义 <#macro select id datas value="" key="" text=" ...

  9. freemarker写select组件(四)

    freemarker写select组件 1.宏定义 <#macro select id datas value="" key="" text=" ...

随机推荐

  1. C语言之指针若干问题

    1.指针变量的赋值问题. 常常有偷懒的小伙子,这样赋值 int *Pointer =  3:/ 这是给Pointer 所指的变量赋值,刚创建Pointer时,它所指的变量是不固定的,可能是某个重要的系 ...

  2. 谷歌将一些弱小的库从安卓代码移除Google Removes Vulnerable Library from Android

    Google this week released the November 2018 set of security patches for its Android platform, which ...

  3. 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(二)

    接着第一篇的写: 第三步,测试SQL Server数据库的性能: a.加载JDBC SQL Server驱动.添加线程组和设置线程属性和第二步一样,就不再赘述了: b.设置JDBC Connectio ...

  4. windows下C++连接mysql

    平台:windows c/c++ 编译器:vs2017 项目设置:项目属性页: 1.C/C++ ->常规->附加包含目录->C:\Program Files (x86)\MySQL\ ...

  5. window安装pycharm Django

    pycharm 安装Pycharm  直接在官网下载就可以,这里说一下如何破解注册码的问题: 修改电脑中hosts文件(地址: C:\Windows\System32\drivers\etc ),改变 ...

  6. 使用 dom4j 处理 xml (2)

    记录一些 xpath 的常规用法,备忘. //3.XPath 了解(用于在xml中选取元素,类似 jquery 选择器) //3.1 路径 Node node1 = root.selectSingle ...

  7. html5 css练习 定位布局

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  8. centos7 源码安装php7

    因为php安装需要编译,所以服务器应该保证gcc和g++环境的安装 1. 首先释放安装包: tar -xvzf php-7.0.5.tar.gz cd php-7.0.5 2. 接下来进行参数配置,配 ...

  9. 纪念一下学写pipeline时脑子里的坑

    用的是filespipeline,用的存储地址是images的地址 测试煎蛋ooxx首页,shell测试的时候返回很多列表,但是实际爬的时候一直只返回一条,很烦,一直测一直测,就是不行,后来才发现,首 ...

  10. GO语言的包

    包介绍 包(package)是多个Go源码的集合,go语言有很多内置包,比如fmt,os,io等. 定义包 main包是一个可执行的包,只应用程序的入口包,编译完会生成一个可执行文件. 包名可以不和文 ...