uiUI 组件系统
对比

标签与多值输入

Tags Input / Token Field

把用户录入的多个值变成可浏览、编辑和移除的独立项。

交互预览实时预览
交互 设计

最多 5 个标签,每个最多 12 字

Enter 添加,移除后可撤销
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'tag-input'
);

view.element.addEventListener('ui:change', event => {
  console.log(event.detail.value);
});

// view.update({ ...nextProps });
// view.destroy();

什么时候用

关键词、收件对象或自由标签。

什么时候不用

完全固定的候选集合可以使用多选 Select。

COMPONENT API

属性与事件

传入业务数据,通过事件连接你的应用。

属性默认值
label"添加标签"
name"sample-tag"
placeholder"输入后按 Enter"
value["交互","设计"]
maxTags5
maxLength12
disabledfalse
undoLabel"撤销"

事件

ui:change ui:remove ui:restore ui:undo

安装、生命周期与完整 API ↗

INTERACTION NOTES

交互与可访问性

  • 删除按钮有具体名称。
  • 键盘可在文本输入与标签之间移动。

和相似组件的区别

Tags Input 管理多个值;Badge 只显示附属信息。

RESEARCH & ALTERNATIVES

官方实现映射

以下是上游生态对同类交互的实现。上方运行的是 UI 自己的组件。

Element PlusInputTag
官方提供

提供标签新增与删除。

MantineTagsInput
官方提供

自由值、多标签与候选建议。

关键状态

输入中已添加重复值移除

React / Next.js、Vue / Nuxt · 来源核验

一起了解

徽标与计数 ↗选项选择器 ↗组合输入与自动补全 ↗