TagsInput 标签输入
通过文本输入创建多个短标签,并支持逐项删除与数量限制。
使用概览
适合使用
- 关键词、收件人或自定义分类允许用户创建多个自由值时。
不建议使用
- 值必须来自固定受控列表,或重复与顺序具有业务含义时。
真实示例
项目标签输入
创建最多五个可逐项移除的自由标签。
正在加载示例…
安装
本地候选警告Registry 地址仅指向当前本地文档站;npm 包也只用于本地候选验证,尚未公开发布。
pnpm dlx shadcn@4.16.0 add http://127.0.0.1:3000/r/tags-input.json基础用法
导入
import { TagsInput } from "@richardqiu/quartz/tags-input";JSX
<TagsInput aria-label="项目标签" defaultValue={["紧急"]} placeholder="输入后回车" maxTags={5} removeLabel={(tag) => `移除 ${tag}`} />状态与控制摘要
默认
键盘焦点可见
已禁用
无效
label · textactive · booleanAPI 参考
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
maxTags | number | 无限制 | 限制用户可以创建的标签总数。 |
组合结构
- 01
TagsInput
键盘约定
- 非输入法合成期间,Enter 或逗号提交文字;输入为空时 Backspace 删除末项。
可访问性契约
- 每个标签都需要由使用方命名的移除操作。
- 空值与重复值会被稳定拒绝。