应用场景描述:

Select 被form 所包裹,且被getFieldDecorator修饰。所以值的改变应该通过form的setFieldsValue方法。

Select模式肯定会是multiple。且以最多三个值举例。

解决思路如下:

1 起初是想在Select的onchange事件中判断values的数量,数量大于三个的时候来重新setFieldsValue;且把最后的选项值替换成刚刚选择的值。

后来发现setFieldsValue方法不起作用,Select的值会一直增加。后来想想可能是 setFieldsValue与onchange 冲突,通过setFieldsValue 无法改变onchange后的值。

2 最后通过重新查看文档。发现还有一个方法可用,即 validator。验证值,通过验证所选值的数量是否大于三个,然后重新setFieldsValue ;发现此法可行。从而解决该疑难杂症。

好,最后附上代码供参考:

changeValues = (rule ,value , callback)=> {

const { setFieldsValue } = this.props.form ;

let newArr ;

if (value.length > 3){

newArr = [].concat(value.slice(0,2), value.slice(-1) ) ;

setFieldsValue({

"languages" : newArr ,

})

callback(‘最多选择三种语言‘)

} else {

newArr = value ;

callback()

}

}

{getFieldDecorator(‘languages‘, {

rules:[{required: true,message : ‘请选择三种语言‘,

validator : changeValues

}],

validateTrigger : ‘onChange‘,

})(

1

2

3

4

5

)}

antd select多选_关于antd Select 限制选择个数的解决方案相关推荐

  1. 关于antd Select 限制选择个数的解决方案

    关于antd Select 限制选择个数的解决方案 参考文章: (1)关于antd Select 限制选择个数的解决方案 (2)https://www.cnblogs.com/weblinda/p/9 ...

  2. html select 多选传值,Js读取select多选的几种方法

    首先,编写HTML如下: 操作系统: windowxp window7 window10 mac os 方法 function readselect2() { // 方法一 var os = docu ...

  3. jq select 修改选中_「jquery select」jquery操作select(取值,设置选中) - seo实验室

    jquery select 最近工作中总出现select 和 option问题,整理一下,内容大部分源于网络资料 一.基础取值问题 例如 1.设置value为pxx的项选中 $(".sele ...

  4. select case语句_图解Go select语句原理

    Go 的select语句是一种仅能用于channl发送和接收消息的专用语句,此语句运行期间是阻塞的:当select中没有case语句的时候,会阻塞当前的groutine.所以,有人也会说select是 ...

  5. html'中select多选,在HTML中select标签如何实现单选和多选

    在HTML中select标签如何实现单选和多选 发布时间:2020-09-29 17:01:54 来源:亿速云 阅读:105 作者:小新 这篇文章主要介绍了在HTML中select标签如何实现单选和多 ...

  6. mysql select内部原理_数据库SQL SELECT查询的工作原理

    作为Web开发人员,虽并非专业的DBA,但我们总是离不开数据库.一般开发员只会应用SQL的四条经典语句:select,insert,delete,update.以至于从来没有研究过它们的工作原理,在这 ...

  7. antd table动态表头_使用 antd@4 table 自定义筛选表头功能做一个联动搜索表头筛选...

    前言: 上篇文章是使用 antd@4 table 自定义表头筛选完成一个表格动态列的功能,这次需要完成一个表头联动条件筛选功能. 一.开始前 开始之前先去 Antd 官网看下「自定义的列筛选功能」的代 ...

  8. 域名该怎样选_注册域名该怎么选择域名

    据网络统计在2014年,将有超过1000个新的顶级域名启用,小编保证你将会看到越来越多地用.CC..TT..PW和.LA等为后缀的注册域名.以往只用.com..net..org 做顶级域名的时代一去不 ...

  9. 域名该怎样选_网站域名应该怎样选择?

    网站的域名选择是上海企业网站建设的一个非常重要的方面,因为良好的域名关系这个网站未来的发展效果,而域名注册也需要做,但一般来说,域名的选择必须坚持简单.清晰.方便的记忆,一般我们注册域名后也需要依靠域 ...

最新文章

  1. 浅谈O2O行业的猎人与农夫【更新完毕】
  2. am.java_6.3.1 从am说起
  3. 只导出项目需要的pip依赖包-方法的缺陷
  4. java volidate_volidate 学习
  5. Java小白零基础学习如何突破自己的方法
  6. RFID 是什么意思
  7. 博客迁移至: http://www.cleocn.com
  8. 学习OpenCV思维导图
  9. SHELL脚本--多命令逻辑执行顺序
  10. matlab内置vmd吗,matlab中使用VMD(变分模态分解)
  11. 配置小程序项目的第一个页面—小程序入门与实战(五)
  12. 输入一个大写英文字母,输出小写英文字母;输入一个小写英文字母输出一个大写英文字母
  13. 用c语言switch计算奖金,求助。。关于用switch编写简易计算器
  14. 细思极恐---十年生死两茫茫,通信人,意欲亡。
  15. superset 1.3 地图 汉字 展示,省市编码 ISO3166
  16. 人力资源管理系统面向对象建模分析
  17. java农业银行面试题
  18. 2018年中国数字经济发展报告:农村数字消费增速超一二线城市
  19. 华为研发投入全球第二!力压三星、苹果
  20. 基于透镜成像学习策略的灰狼优化算法-附代码

热门文章

  1. linux下编程epoll实现将GPS定位信息上报到服务器
  2. Java经典设计模式:五大创建型模式
  3. AndroidStudio_安卓原生开发_Android中调用摄像头拍照_并剪裁图片---Android原生开发工作笔记138
  4. C++基础部分_C++文件操作_文件的读取操作---C++语言工作笔记077
  5. Nacos命名空间配置_每个人用各自自己的命名空间---SpringCloud Alibaba_若依微服务框架改造---工作笔记001
  6. 大数据_Flink_流式处理_简介_认识一下什么是BI中的ETL---Flink工作笔记0005
  7. 嵌入式工作笔记0007---对讲机嵌入式开发记录---认识对讲机的功能--随时更新
  8. 架构设计工作笔记001---智慧城市项目架构设计中应该注意的问题
  9. 移动APP开发工作笔记002---Hbuilder js判断当前设备是安卓设备还是苹果设备
  10. SpringCloud_005_Maven中的Scope详解_准备01