表单组件版本 0.1.0

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 · boolean

API 参考

属性类型默认值说明
maxTagsnumber无限制限制用户可以创建的标签总数。

组合结构

  1. 01TagsInput

键盘约定

  • 非输入法合成期间,Enter 或逗号提交文字;输入为空时 Backspace 删除末项。

可访问性契约

  • 每个标签都需要由使用方命名的移除操作。
  • 空值与重复值会被稳定拒绝。