Badge 徽章组件 #
基本用法 #
jsx
import { Badge } from '@chakra-ui/react'
function Example() {
return <Badge>默认徽章</Badge>
}
徽章变体 #
jsx
<Badge>默认</Badge>
<Badge variant="subtle">柔和</Badge>
<Badge variant="solid">实心</Badge>
<Badge variant="outline">轮廓</Badge>
徽章颜色 #
jsx
<Badge colorScheme="green">成功</Badge>
<Badge colorScheme="red">错误</Badge>
<Badge colorScheme="yellow">警告</Badge>
<Badge colorScheme="blue">信息</Badge>
<Badge colorScheme="purple">紫色</Badge>
<Badge colorScheme="gray">灰色</Badge>
徽章尺寸 #
jsx
<Badge fontSize="xs">超小</Badge>
<Badge fontSize="sm">小</Badge>
<Badge fontSize="md">中等</Badge>
实用示例 #
状态徽章 #
jsx
function StatusBadge({ status }) {
const statusConfig = {
active: { color: 'green', text: '活跃' },
inactive: { color: 'gray', text: '未激活' },
pending: { color: 'yellow', text: '待审核' },
blocked: { color: 'red', text: '已禁用' },
}
const config = statusConfig[status]
return (
<Badge colorScheme={config.color} variant="subtle">
{config.text}
</Badge>
)
}
计数徽章 #
jsx
function NotificationBadge({ count }) {
return (
<Box position="relative">
<BellIcon boxSize={6} />
{count > 0 && (
<Badge
position="absolute"
top="-8px"
right="-8px"
colorScheme="red"
borderRadius="full"
minW="18px"
textAlign="center"
>
{count > 99 ? '99+' : count}
</Badge>
)}
</Box>
)
}
标签列表 #
jsx
function TagList({ tags }) {
return (
<HStack spacing={2}>
{tags.map((tag) => (
<Badge key={tag} colorScheme="blue" variant="outline">
{tag}
</Badge>
))}
</HStack>
)
}
Badge 属性速查表 #
| 属性 | 说明 | 值 |
|---|---|---|
| variant | 变体 | subtle, solid, outline |
| colorScheme | 颜色方案 | green, red, blue… |
| fontSize | 字体大小 | xs, sm, md |
下一步 #
现在你已经掌握了 Badge 组件,接下来学习 Tag 标签,了解如何使用标签组件!
最后更新:2026-03-28