使用Ant Design实现带内部标签块的输入框,是否有内置原生组件支持?
Ant Design 标签输入框实现方案
Ant Design 有原生内置组件可直接实现你需要的输入框内嵌带样式标签的效果,不需要你手动维护标签渲染的基础逻辑,推荐方案如下:
- 首选方案:
Select组件标签模式
直接给Select组件设置mode="tags"属性即可,默认支持输入内容后按回车自动生成标签,标签内置在输入框内部,自带删除、去重等常用能力。你需要的;分隔功能可以通过tokenSeparators属性配置,支持自定义多个分隔符规则,也可以通过样式属性调整标签外观,完全匹配设计稿需求。
基础使用示例:
如果不需要用户自定义新增标签,只能从预设选项中多选,把import { Select } from 'antd'; const Demo = () => { // 自定义分隔符支持分号、逗号、空格触发生成标签 return <Select mode="tags" tokenSeparators={[';', ',', ' ']} style={{ width: '100%' }} placeholder="输入内容后按回车或输入分号生成标签" /> }mode改为multiple即可。 - 备选方案:
Input+Tag自定义组合
如果有特殊交互或样式自定义需求,也可以用Input.Group包裹Tag组件和原生输入框,自己维护标签数组的状态,灵活性更高,可完全自定义所有交互细节。
内容的提问来源于stack exchange,提问作者Alex Ironside
相关产品推荐
相关产品推荐

