数据展示
Tag
用于标记状态、分类或短文本信息的标签组件
Tag 是一个轻量标签组件,用于展示状态、分类、属性或短文本信息。组件渲染为 div,通过 color、variant、size 和 shape 控制视觉样式,图标、计数或关闭图标可以直接作为 children 组合。
import { Tag } from '@skyroc/web-ui';何时使用
- 需要在列表、卡片、表格或详情中展示状态、分类、标签。
- 需要用颜色表达语义,例如成功、警告、错误或信息。
- 内容较短,通常是一两个词或小图标加文本。
- 需要可点击操作时优先使用 Button;需要表单选择时使用 Checkbox、Radio 或 Select。
基础用法
直接传入 children 即可。Tag 没有专门的关闭或图标 API,可以通过 children 组合图标和文本。
Preview
Code
Loading...
<Tag>Default</Tag>
<Tag color="success" variant="soft">
<Check className="size-3" />
Verified
</Tag>颜色
通过 color 设置主题色。默认颜色为 primary。
Preview
Code
Loading...
| 颜色 | 语义 | 适用场景 |
|---|---|---|
primary | 主要标签 | 默认状态、主分类 |
destructive | 危险状态 | 错误、删除、风险 |
success | 成功状态 | 已完成、通过、可用 |
warning | 警告状态 | 待处理、临界、注意 |
info | 信息状态 | 提示、说明、中性信息 |
carbon | 中性深色 | 无语义分类 |
secondary | 次级标签 | 辅助信息 |
accent | 强调标签 | 特殊标记 |
变体
通过 variant 控制标签视觉强度。solid 强调最高,raw 最轻量。
Preview
Code
Loading...
| 变体 | 说明 |
|---|---|
solid | 实色背景,默认样式 |
pure | 中性背景和边框 |
outline | 透明背景,保留主题色边框 |
soft | 浅色背景,无边框 |
ghost | 浅色背景,保留主题色边框 |
raw | 无背景、无边框 |
尺寸
通过 size 调整标签高度、字号、水平间距和内容间距,从 xs 到 2xl 共 6 个尺寸。
Preview
Code
Loading...
| 尺寸 | 适用场景 |
|---|---|
xs | 表格内、密集列表 |
sm | 小型列表 |
md | 常规场景(默认) |
lg | 卡片辅助信息 |
xl | 更醒目的状态标签 |
2xl | 大尺寸展示或触控区 |
形状
通过 shape 控制圆角。auto 使用固定圆角,rounded 使用胶囊圆角。
Preview
Code
Loading...
<Tag shape="auto">auto</Tag>
<Tag shape="rounded">rounded</Tag>颜色和变体组合
颜色与变体可以自由组合,用于不同语义和视觉强度。
Preview
Code
Loading...
<Tag color="warning" variant="soft">
Pending
</Tag>
<Tag color="destructive" variant="outline">
Failed
</Tag>API
Tag
Tag 继承 div 属性,并增加项目主题色、尺寸、形状和变体。
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| children | 标签内容,可包含文本、图标或其他内联元素 | ReactNode | - |
| color | 主题颜色 | 'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'carbon' | 'secondary' | 'accent' | 'primary' |
| variant | 视觉变体 | 'solid' | 'pure' | 'outline' | 'soft' | 'ghost' | 'raw' | 'solid' |
| size | 尺寸,影响高度、字号和间距 | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'md' |
| shape | 圆角形状 | 'auto' | 'rounded' | 'auto' |
| className | 自定义 class | ClassValue | - |
| id | 根元素 id | string | - |
| title | 原生 title 属性 | string | - |
类型
TagProps
Tag 组件属性。继承 div 属性,并增加主题色、尺寸、形状和变体。
| 字段 | 类型 | 说明 |
|---|---|---|
| children | ReactNode | 标签内容。 |
| color | 'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'carbon' | 'secondary' | 'accent' | 主题颜色。 |
| variant | 'solid' | 'pure' | 'outline' | 'soft' | 'ghost' | 'raw' | 视觉变体。 |
| size | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 组件尺寸。 |
| shape | 'auto' | 'rounded' | 圆角形状。 |
| className | ClassValue | 自定义 class。 |
| id | string | 根元素 id。 |
| title | string | 原生 title 属性。 |
TagVariant
Tag 视觉变体
'solid' | 'pure' | 'outline' | 'soft' | 'ghost' | 'raw'
TagShape
Tag 圆角形状
'auto' | 'rounded'