展示类 · Tag
标签
标签是图形化标记界面上的元素的组件,达到快速识别、分组的目的。
代码演示
如何引入
基本用法
基本标签用法,将内容使用
可以通过添加
<Tag> 标签包裹即可。可以通过添加
closable 属性将其变为可关闭标签,此时点击 x 关闭会触发 onClose 事件,在 onClose 中阻止默认事件可以使其点击后依然显示不隐藏尺寸
默认定义了两种尺寸:大、小(默认)。
形状
默认定义了两种形状:
square(默认)、circle。配置图标
v2.44 后支持通过配置 prefixIcon、suffixIcon, 可以在 children 内容前后添加 Icon 图标。
颜色
标签支持默认色板的 16 种颜色和白色,包括:
amber、 blue、 cyan、 green、 grey、 indigo、 light-blue、 light-green、 lime、 orange、 pink、 purple、 red、 teal、 violet、 yellow、 white,也可以通过 style 来自定义颜色样式。AI 风格 - 多彩标签
设置
colorful 为 true 即可获得多彩的标签。注意: 多彩标签的字重和非多彩标签字重不同。多彩标签可通过
gradient 区分是否为渐变色。样式类型
标签支持三种样式类型,包括浅色底色
light,白色底色 ghost,深色底色 solid;默认值为 light。通过 type 配置头像标签
设置
avatarSrc 可以生成头像标签。结合 avatarShape 可以调整头像标签的形状,支持 square 和 circle。不可见的
通过 visible 属性控制标签是否可见。
TagGroup 使用
在 TagGroup 内通过
通过设置
tagList 传入 tags 配置,并且设置 maxTagCount 属性, 超出数量限制后,会显示为 +N通过设置
showPopover 属性,来控制 hover 到 +N Tag 时,是否通过 Popover 显示剩余内容如果 TagGroup 中的标签可删除,用户需要在
onTagClose 中处理传递给 TagGroup 的 tagList。API参考
Tag
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| avatarShape | 头像 Tag 形状,可选 square 和 circle | string | square | 1.6.0 |
| avatarSrc | 头像的资源地址 | string | - | 1.6.0 |
| className | 类名 | string | ||
| closable | 标签是否可以关闭 | boolean | false | |
| color | 标签的颜色,可选 amber、 blue、 cyan、 green、 grey、 indigo、 light-blue、 light-green、 lime、 orange、 pink、 purple、 red、 teal、 violet、 yellow、 white | string | grey | |
| colorful | 多彩标签 | boolean | false | 2.86.0 |
| gradient | 是否为渐变色,需在 colorful 为 true 时生效 | boolean | false | 2.86.0 |
| prefixIcon | 前缀图标 | ReactNode | 2.44.0 | |
| suffixIcon | 后缀图标 | ReactNod e | 2.44.0 | |
| shape | 标签的形状,可选 square、 circle | string | square | 2.20.0 |
| size | 标签的尺寸,可选 small、 large | string | small | |
| style | 样式 | CSSProperties | ||
| type | 标签的样式类型,可选 ghost、 solid、 light | string | light | |
| visible | 标签是否可见 | boolean | true | |
| tagKey | React 需要的 key,作为每个标签的唯一标识,不允许重复 | string | number | |
| onClick | 单击标签时的回调函数 | (e: MouseEvent) => void | 无 | |
| onClose | 关闭标签时的回调函数 | (tagChildren: ReactNode, e: MouseEvent, tagKey: string | number ) => void | 无 | e 于 v1.18 版本提供, tagKey 于 v2.18.0 提供 |
TagGroup
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| avatarShape | 头像 Tag 形状,可选 square 和 circle | string | square | 1.6.0 |
| className | 类名 | string | ||
| maxTagCount | 最大数量限制,超出后显示为 +N | number | ||
| popoverProps | popover 的配置属性,可以控制 direction, zIndex, trigger 等,具体参考 Popover | PopoverProps | {} | |
| showPopover | hover 到 +N 时,是否通过 Popover 显示剩余内容 | boolean | false | |
| size | 标签的尺寸,可选 small、 large | string | small | |
| style | 样式 | CSSProperties | ||
| tagList | 标签组 | (TagProps)[] | ||
| onTagClose | 删除TagGroup中的Tag时候的回调函数 | (tagChildren: ReactNode, e: MouseEvent, tagKey: string | number ) => void | - | 2.18.0 |
Accessibility
ARIA
aria-label用于表示Tag的作用,对于可删除或者可点击的Tag,我们推荐使用此属性
键盘和焦点
- 如果当前
Tag可交互,那么这个Tag可被聚焦到。如:- 使用了
onClick属性时,键盘用户可以通过Enter键激活此Tag closable属性为true时,键盘用户可以通过Delete键删除此TagTag被聚焦时,键盘用户可以通过Esc键使当前聚焦Tag失焦
- 使用了
文案规范
- 由于空间有限,标签文本应尽可能简短
- 避免换行
- 使用句子大小写;