Badge 徽章
数据展示
在右上角展示小数量或状态标记,常用于通知图标、头像、列表项。
何时使用
用于状态、标签、计数、分类等附属信息展示。
代码示例
基础用法
tsx
import { Badge } from "@/components/ui/badge"
export function Basic() {
return <Badge>Default</Badge>
}变体
tsx
{/* 展示 variant 变体 */}
<div className="flex flex-wrap items-center gap-3">
<Badge variant="default">Default</Badge>
<Badge variant="secondary">Secondary</Badge>
<Badge variant="destructive">Destructive</Badge>
<Badge variant="outline">Outline</Badge>
<Badge variant="ghost">Ghost</Badge>
</div>样式变体
变体
| Variant | 说明 | 默认 |
|---|---|---|
default | 默认样式 | ✓ |
secondary | 次要样式 | |
destructive | 危险/删除样式 | |
outline | 描边样式 | |
ghost | 幽灵(无背景)样式 | |
link | 链接样式 |
API / Props
Badge
| Prop | Type | Default | 说明 |
|---|---|---|---|
className | string | — | 自定义样式类名 |
| ...rest | React.HTMLAttributes | — | 透传原生 DOM 属性 |
注意事项
- CVA 变体: 通过
class-variance-authority管理样式变体,类型安全。变体对象可导出复用。 - Base UI: 基于
@base-ui/react无头(headless)原语构建,无障碍(a11y)开箱即用。
📘 完整交互式示例与控件属性请查看 Storybook 文档。