Skyroc UI
数据展示

Badge

附着在元素上用于展示状态标记或计数的徽标组件

徽标(Badge)附着在按钮、图标等元素上,用于显示未读数量、状态标记或小红点提示,引导用户关注特定内容。

import { Badge, BadgeRoot, BadgeContent } from '@skyroc/web-ui';

何时使用

  • 展示未读消息数、通知计数等数字信息。
  • 用小红点标记有新内容或状态变化的元素。
  • 在头像、图标、按钮等元素上附加状态提示。

基本用法

Badge 支持三种展示形态:不传 content 时显示为小红点,传入数字或文本时显示为计数徽标。

Preview
Code
Loading...

颜色

Badge 提供 8 种主题颜色,每种颜色都有其语义含义:

颜色语义适用场景
primary主要标记常规通知、默认状态
destructive危险标记错误计数、紧急通知
success成功标记已完成、在线状态
warning警告标记待处理、需注意
info信息标记一般消息、辅助信息
carbon中性标记无语义倾向的通用标记
secondary次级标记低优先级标记
accent强调标记需要特殊视觉关注的标记

小红点模式下的 8 种颜色:

Preview
Code
Loading...

带内容模式下的 8 种颜色:

Preview
Code
Loading...

位置

通过 position 控制徽标在元素上的定位:

位置说明
top-right右上角(默认)
top-left左上角
bottom-right右下角
bottom-left左下角
Preview
Code
Loading...

尺寸

通过 size 调整徽标大小,从 xs2xl 共 6 个尺寸。小红点和计数徽标均会随尺寸缩放。

尺寸最小高度字号适用场景
xs8px8px极紧凑、微型指示
sm10px9px紧凑布局
md12px10px常规场景(默认)
lg14px12px稍大标记
xl16px14px突出标记
2xl20px16px大幅展示
Preview
Code
Loading...

API

Badge

通用属性参考:支持原生 div 元素的所有属性。

属性说明类型默认值
color主题颜色'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'carbon' | 'secondary' | 'accent''primary'
size尺寸,影响徽标大小与字号'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl''md'
position徽标在元素上的定位'top-right' | 'top-left' | 'bottom-right' | 'bottom-left''top-right'
content徽标内容,不传时显示为小红点ReactNode-
open控制徽标的显示/隐藏booleantrue
classNames各 slot 的自定义 class(root / content)BadgeUi-

类型

BadgeUi

各 slot 的自定义 class,用于精细化控制 Badge 各部分的样式。

字段类型说明
rootClassValue根容器的 class。
contentClassValue徽标内容区的 class。

ClassValue

CSS 类名类型

string | null | undefined | Record<string, boolean> | ClassValue[]

On this page