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 不一致的情况则需要额外处理。

相关推荐
Debroon几秒前
从零开始手写ReAct Agent
前端·javascript·react.js
软件技术NINI1 分钟前
html css js网页制作成品——成毅html+css+js 5页附源码
javascript·css·html
Hello.Reader1 分钟前
Rocket 0.5 快速上手3 分钟跑起第一个 Rust Web 服务
开发语言·前端·rust
YIN_O2 分钟前
openEuler 上 CUDA 与 ROCm 的 GPU 加速实战
前端
CryptoRzz10 分钟前
对接墨西哥股票市场 k线图表数据klinechart 数据源API
开发语言·javascript·web3·ecmascript
古城小栈10 分钟前
前端安全进阶:有效防止页面被调试、数据泄露
前端·安全·状态模式
chilavert31814 分钟前
技术演进中的开发沉思-230 Ajax:Prototype.js 重构原生 DOM
开发语言·前端·javascript
手握风云-20 分钟前
JavaEE 进阶第七期:Spring MVC - Web开发的“交通枢纽”(一)
前端·spring·java-ee
CaliXz22 分钟前
取出51.la统计表格内容为json数据 api
java·javascript·json
Rysxt_23 分钟前
Vue 集成富文本编辑器教程
前端·javascript·vue.js·富文本