Status 状态列表
Status 现在既能使用 Rue 基础的状态点写法,也能像轻量 Badge 一样包裹内容,统一承载 dot、count、text、 overflowCount 和 offset。不传 children 时,它会自动切到独立的 label/badge 模式;传入 children 后,则变成右上角角标。
何时使用
- 需要一个很轻的状态点,表达在线、同步中、告警、错误这类语义状态。
- 想在当前内容右上角挂 dot、count 或文案角标,但又不想引入更重的 Badge 结构。
# 基础状态与语义
展示最基础的状态点体验,同时支持用 status 或 color 直接表达语义。
DeployingOnlineWindow closing soon
# 尺寸与色板
单独作为状态点使用时,优先关注 size 和 color;它们仍然保持和 daisyUI 一致的视觉基底。
# 文案与 label 模式
不传 children 时,text 会和状态点、dot 或 count 自动组合成一条状态说明。
PublishedSyncing dataSyncing edge cache7待审核
# 包裹内容的角标模式
传入 children 后会自动切到角标模式,适合消息入口、资源卡片和小型业务面板。
APP
PR
Inbox
Chat
# 零值、溢出与偏移
showZero、overflowCount 和 offset 可以覆盖更贴近真实业务的边界情况。
Draft
Mail
Alerts
Releases
Jobs
# 动效状态
Status 本身只是节点,动画可以继续通过 className 叠加,适合告警和提醒场景。
Server is down
Unread messages
API
Status 只有一个根组件,但会根据是否传入 children 自动切换成独立状态模式或包裹内容的角标模式。
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
as | 根节点标签,常用 span 或 div。 | 'span' | 'div' | span |
ariaLabel | 独立状态点或无文本场景下的无障碍标签。 | string | - |
size | 状态点或数字徽标尺寸,支持 xs 到 xl,以及 small、default、medium、large 别名。 | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'small' | 'default' | 'medium' | 'large' | - |
color | 预设主题色或自定义颜色字符串;传入时优先级高于 status。 | StatusTone | string | - |
status | 语义状态,processing 会自动带 pulse 动效。 | 'default' | 'processing' | 'success' | 'warning' | 'error' | StatusTone | - |
text | 跟随状态点、数字或角标展示的说明文案。 | any | - |
count | 数字、字符串或自定义内容;不传 children 时会切到独立 label/badge 模式。 | any | null |
showZero | count 为 0 时是否仍显示。 | boolean | false |
overflowCount | 数字上限,超过后显示 n+。 | number | 99 |
dot | 以状态点代替数字徽标。 | boolean | false |
offset | 调整角标的水平和垂直偏移。 | [number | string, number | string] | - |
title | 自定义角标 title;数字模式默认会回退到 count 文案。 | string | - |
className | 作用于根节点的类名。 | string | - |
style | 作用于根节点的内联样式。 | Record<string, any> | - |
children | 传入后切到包裹内容的角标模式。 | any | - |
模式选择建议
不传 children 适合单独状态点、带文案的 label,以及独立数字/点状提示。
传 children 适合给按钮、卡片、入口块挂角标,并可以使用 count、dot、offset 等能力。
FAQ
status 和 color 同时传时谁优先?
color 优先级更高。status 更偏语义表达,color 则适合覆盖成品牌色或业务色。
为什么有时候会显示成一条 label,而不是右上角角标?
当你传入 text,但没有传 children 时,Status 会自动用独立模式渲染成“状态点/数字 + 文案”的一条说明。只有传入 children 后,才会切到右上角挂载角标的模式。
count 为 0 时为什么默认不显示?
这是为了保持和常见 badge 组件一致的默认行为。如果业务上需要明确展示 0,加上 showZero 即可。