2

背景:

1.在做项目的时候,经常使用antd中”多选的select组件“;
image.png
2.antd KPI文档写的:showSearch 使单选模式可搜索,意为在单选时,搜索功能是可以设置的,当showSearch:false,在多选模式仍有搜索功能。
image.png
3.导致多选模式输入框会获取焦点光标出现,并且还可输入内容,由于选项的value是值的code不是label,所以输入内容搜索会找不到相关内容。
<Select
 mode={'multiple'}
/>

image.png
image.png
image.png

解决方法:

1.针对antd 3.x 的select组件: 进行dom操作,找到该input,添加只读属性

js
// antd 下拉组件 多选模式 不支持禁用输入搜索功能, 通过dom操作禁用输入功能
const auctionTimesCode = document.querySelector('#auctionTimesCode #auctionTimesCode');
auctionTimesCode && auctionTimesCode.setAttribute('readonly', 'true');
css
.ant-select-selection--multiple {
  cursor: pointer;
}

image.png

2.针对antd 4.x 的select组件: showSearch:false 竟然可以了📣😍,看来是antd文档没有更新。

<Select
 mode={'multiple'}
 showSearch={false}
/>

image.png

结语:

之前为了解决antd3.x查了很多资料,确实是antd3中select组件没有对多选模式下搜索功能可禁用配置,整理出来此文档希望对正在苦恼的小伙伴提供帮助。


like
5 声望2 粉丝

正向积累