Tag 标签
用于标记和分类的小型标签。
类型
标签类型
圆角与尺寸
圆角与尺寸
size 支持 xs / small / medium(默认)/ large / xl 五档;非法值回落 medium 并提示告警。
可关闭
点击 × 触发 oas-close(cancelable,preventDefault 可阻止移除)。
可关闭标签
自定义关闭
close-icon 自定义关闭按钮图标(oas-icon 图标集名,缺省 ×);close-label 自定义关闭按钮的 aria-label(屏幕阅读器朗读,缺省走 locale「关闭」)。
自定义关闭图标与朗读文案
胶囊与可点击
chip:胶囊圆角 + 紧凑 padding;clickable:整签可点,点击/Enter/Space 派发 oas-click。
chip 胶囊
clickable 可点击
chip 态下
disabled不可点(不派发oas-click)不可关(关闭按钮 disabled)。
图标标签
默认插槽可放图标——图标 + 文字组合成图标标签。
图标标签
可选中
checkable 开启可选中:点击 / Enter / Space 切换 checked 并派发 oas-change(detail: { checked });选中态为实心填充,文字前渲染 √ 勾选图标(checked-icon 可自定义图标名)。checkable 与 closable 互斥(关闭按钮隐藏)。
checkable 可选中
checkable 勾选图标
形态
variant 提供三种形态:outlined(描边)/ filled(浅底)/ solid(实心);缺省保持原有类型渲染(default 白底灰框、有色 type 浅底、primary 实心)。
outlined 描边
filled 浅底
solid 实心
自定义颜色
color 接受任意 CSS 色值,覆盖 type 语义色;未指定 variant 时按 filled 渲染。
color 自定义色
图标
icon 属性复用 oas-icon 图标集,图标渲染在文字前、尺寸跟随字号。
icon 图标标签
链接
href 设置后内部渲染为原生链接 <a>,target 透传打开方式。
href 链接标签
超长省略
max-width 限制标签内容宽度,超出部分以省略号截断。
max-width 省略
预设颜色
color 支持按名引用 11 个预设色(magenta / red / volcano / orange / gold / lime / green / cyan / blue / geekblue / purple,映射 --oas-preset-* token,dark 主题自动调亮);也支持任意 CSS 色值(见上方自定义颜色)。非法预设名按普通色值处理。
预设色 filled
预设色 solid
状态点
dot 在文字前渲染小圆点(颜色跟随 type / color);processing 圆点带脉冲动画(prefers-reduced-motion 下停用)并隐含 dot。
dot 状态点
processing 脉冲
描边加重与强调
hit 用不透明的语义色描边(有 color 时跟随自定义色);strong 文字加粗(font-weight 600)。
hit 描边加重
strong 加粗
多行
multiline 允许内容换行显示(高度自适应 + 上下 padding 补偿,移动端长内容场景);与 max-width 同设时不省略,但 max-width 仍约束宽度——内容在约束内换行而非截断。
multiline 多行
头像标签
默认插槽放 oas-avatar(或 <img>)时自动适配:尺寸随 tag 档位、圆形、负 margin 贴左缘。
头像标签
拖拽排序
一组 closable 签支持原生 HTML5 拖拽重排(dragstart / dragover / drop,数组重排后重渲染;不依赖三方库)。
拖拽排序
关闭动画
oas-close 是 cancelable 事件:preventDefault 后组件不自动移除,可自行做淡出过渡再移除。
关闭动画
异步关闭
loading 进入关闭加载态:关闭按钮显示 spinner 并禁点(aria-busy 同步)。宿主在 oas-close 中 preventDefault 阻止自动移除,做异步操作后调用 event.detail.done() 退出 loading,再手动移除标签。
异步关闭
标签组
oas-tag-group 把多个 checkable 签组合为选值组:单选(value 单值)与多选(multiple + 逗号分隔 value),点击签切换选中并派发 oas-change(单选 detail: { value } / 多选 detail: { value: [] });disabled 禁用整组。子签自身 checked 由组统一接管(受控)。
tag-group 单选
tag-group 多选
tag-group disabled
API
oas-tag
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
checkable | 可选中:点击 / Enter / Space 切换 checked 并派发 oas-change;与 closable 互斥 | boolean | — |
checked | 选中态(checkable 时生效) | boolean | — |
checked-icon | checkable 选中时标签前的勾选图标(iconRegistry 图标名,默认 check) | string | check |
chip | 胶囊 | boolean | — |
clickable | 整签可点 | boolean | — |
closable | 可关闭 | boolean | — |
close-icon | 自定义关闭按钮图标(iconRegistry 图标名),替换默认 × | string | — |
close-label | 关闭按钮的 aria-label(a11y 上下文朗读,如「移除标签 xx」),默认走 locale「关闭」 | string | — |
color | 自定义颜色:支持 11 个预设名(magenta / red / volcano / orange / gold / lime / green / cyan / blue / geekblue / purple,映射 --oas-preset-* token)或任意 CSS 色值,覆盖 type 语义色;未指定 variant 时按 filled 渲染 | string | — |
disabled | 禁用 | boolean | — |
dot | 文字前渲染状态小圆点(8px,颜色跟随 type / color) | boolean | — |
hit | 加重描边:语义色全不透明边框(有 color 时跟随自定义色) | boolean | — |
href | 链接地址:设置后内部渲染为原生链接 <a> | string | — |
icon | 图标名(复用 oas-icon 图标集),置于文字前,尺寸跟随字号 | string | — |
loading | 加载态:关闭流程中转 spinner 并禁点(oas-close detail 含 done() 回调,宿主异步完成后调用退出 loading) | boolean | — |
max-width | 标签内容最大宽度(如 120px),超出省略显示;与 multiline 同设时不省略,仅约束宽度让内容换行 | string | — |
multiline | 多行:内容允许换行(高度自适应 + 上下 padding 补偿);与 max-width 同设时换行而非省略 | boolean | — |
processing | 状态点脉冲动画(隐含 dot);prefers-reduced-motion 下停用 | boolean | — |
round | 圆角 | boolean | — |
size | 尺寸:xs / small / medium(默认)/ large / xl;非法值回落 medium 并告警 | TagSize | medium |
strong | 文字加粗(font-weight 600) | boolean | — |
target | 链接打开方式(_blank / _self 等),配合 href | string | — |
type | 类型 | TagType | default |
variant | 形态(与 type 正交):outlined(描边)/ filled(浅底)/ solid(实心);缺省保持类型默认渲染 | string | — |
| 事件 | 说明 |
|---|---|
oas-change | checkable 时选中态切换,detail: { checked } |
oas-click | 整签点击(clickable 时),detail 含 originalEvent |
oas-close | 关闭,cancelable,preventDefault 阻止移除 |
| 名称 | 说明 |
|---|---|
| 默认 | 标签内容 |
oas-tag-group
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
aria-label | 组容器可访问名称(默认走 i18n「标签组」) | — | — |
disabled | 禁用整个组(子签不可切) | boolean | — |
multiple | 多选模式(value 逗号分隔多个选中值) | boolean | — |
value | 选中值:单选为单值,多选用逗号分隔 | string | — |
| 事件 | 说明 |
|---|---|
oas-change | 选中变化。单选 detail: { value };多选 detail: { value: [] } |
| 名称 | 说明 |
|---|---|
| 默认 | 多个 <oas-tag checkable value="x"> 子签 |
标签组 API 表由生成器输出。