react + antd:AutoComplete 实现既可以自由输入又能下拉选择

在工作中遇到一个需求,既能下拉选择,有要求可以自由输入没有的选项。

刚开始考虑使用 Select 组件,发现只有多选(mode="tags")的时候才能随意输入内容,但多选又不符合当前的业务需求。

在犹豫要不要自定义一个组件来实现业务需求时,发现了 AutoComplete 组件,完美实现需求。

AutoCompete 自动完成

  • 适用情况
    • 需要一个输入框而不是选择器
    • 需要输入建议 / 辅助提示(另一种形式的选项)
  • 代码示例
js 复制代码
const Example = () => {
  const options = ['python', 'Java'];

  return (
  	<AutoComplete 
	  options={options.map(item => ({ label: item, value: item }))}
	/>
  )
}

需要注意的是:AutoComplete 组件输入框中回填的值为 options 中的 value 而不是 label,如果存在 label 和 value 不一致的情况则需要额外处理。

相关推荐
独立开阀者_FwtCoder8 分钟前
8年磨一剑,Koa 3.0 正式发布!看看带来了哪些新功能
前端·javascript·后端
Frankabcdefgh14 分钟前
初中级前端面试全攻略:自我介绍模板、项目讲解套路与常见问答
前端·面试·职场和发展
2401_8784545316 分钟前
thymeleaf的使用和小结
前端·javascript·学习
brzhang24 分钟前
宝藏发现:Sim Studio,一款让AI工作流搭建变简单的开源利器
前端·后端·github
2301_7994049124 分钟前
AJAX 介绍
前端·ajax·axios
脚本语言_菜鸟25 分钟前
音频转base64
android·javascript·音视频
拖孩30 分钟前
【Nova UI】十三、打造组件库之按钮组件(中):样式雕琢全攻略
前端·javascript·vue.js
-白 泽-1 小时前
2个小时1.5w字| React & Golang 全栈微服务实战
react.js·微服务·golang
高峰君主1 小时前
WebAssembly全栈革命:在Rust与JavaScript之间构建高性能桥梁
javascript·rust·wasm
好_快1 小时前
Lodash源码阅读-sortedUniqBy
前端·javascript·源码阅读