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

相关推荐
Tzarevich7 分钟前
用 OOP 思维打造可复用的就地编辑组件:EditInPlace 实战解析
javascript·前端框架
用户8168694747258 分钟前
Lane 优先级模型与时间切片调度
前端·react.js
虎头金猫8 分钟前
MateChat赋能电商行业智能导购:基于DevUI的技术实践
前端·前端框架·aigc·ai编程·ai写作·华为snap·devui
LiuMingXin8 分钟前
CESIUM JS 学习笔记 (持续更新)
前端·cesium
豆苗学前端18 分钟前
面试复盘:谈谈你对 原型、原型链、构造函数、实例、继承的理解
前端·javascript·面试
Crystal32828 分钟前
Git 基础:生成版本、撤消操作、版本重置、忽略文件
前端·git·github
lichenyang45328 分钟前
React 组件通讯全案例解析:从 Context 到 Ref 的实战应用
前端
国服第二切图仔31 分钟前
Electron for 鸿蒙pc项目实战之右键菜单组件
javascript·electron·harmonyos·鸿蒙pc
姓王者34 分钟前
chen-er 专为Chen式ER图打造的npm包
前端·javascript
青莲84334 分钟前
Android Jetpack - 2 ViewModel
android·前端