Skyroc UI
数据展示

Progress

用于展示任务完成度或加载状态的进度条组件

Progress 用于展示任务、上传、下载、表单流程等操作的完成进度。组件基于 Radix Progress 封装,支持受控 value、最大值 max、主题色、尺寸和自定义 slot 样式。

import { Progress } from '@skyroc/web-ui';

何时使用

  • 展示确定进度的任务,例如上传、下载、安装或流程完成度。
  • 需要用颜色表达状态,例如成功、警告、错误或信息提示。
  • 需要和项目主题尺寸、圆角和动效保持一致。
  • 只需要表达忙碌状态且没有明确百分比时,可使用动画进度或 Skeleton。

基础用法

通过 value 设置当前进度,默认最大值为 100。如果传入 max,实际显示宽度会按 value / max 计算。

Preview
Code
Loading...
<Progress value={60} />

颜色

通过 color 切换进度条语义颜色。根轨道会使用对应颜色的浅色背景,指示条使用对应主题色。

Preview
Code
Loading...
颜色语义适用场景
primary主要进度默认进度、主流程
destructive危险状态失败、错误或不可逆流程
success成功状态上传完成、任务完成
warning警告状态接近限制、需要关注
info信息状态中性信息或异步处理
carbon中性深色无明显语义倾向的进度
secondary次级状态辅助进度、低优先级任务
accent强调状态需要视觉强调的进度或步骤

尺寸

通过 size 调整进度条高度,从 xs2xl 共 6 个尺寸。

Preview
Code
Loading...
尺寸高度适用场景
xs7px紧凑列表、表格内嵌
sm8px小型卡片、辅助进度
md10px常规场景(默认)
lg12px重点流程
xl14px强调进度
2xl16px大号展示区

动态进度

Progress 是受控组件,外部状态变化时会通过 CSS transition 平滑更新指示条位置。

Preview
Code
Loading...
const [value, setValue] = useState(0);

<Progress value={value} />

API

Progress

通用属性参考:继承 Radix Progress Root props,并增加主题色、尺寸和 slot class 配置。

属性说明类型默认值
value当前进度值number | null-
max最大进度值,用于计算显示百分比number100
color主题颜色'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'carbon' | 'secondary' | 'accent''primary'
size尺寸,影响进度条高度'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl''md'
className根轨道 classClassValue-
classNames各 slot 的自定义 class(root / indicator)ProgressClassNames-
id根元素 idstring-
aria-label无可见标签时提供给辅助技术的说明string-

类型

ProgressProps

Progress 组件属性。继承 Radix Progress Root props,并增加项目主题色、尺寸和 slot class 配置。

字段类型说明
valuenumber | null当前进度值。
maxnumber最大进度值。默认 100。
color'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'carbon' | 'secondary' | 'accent'主题颜色。
size'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'组件尺寸。
classNameClassValue根轨道 class。
classNamesProgressClassNamesslot class 配置。
idstring根元素 id。
aria-labelstring无可见标签时的无障碍说明。

ProgressClassNames

Progress 各 slot 的自定义 class。

字段类型说明
rootClassValue根轨道 class。
indicatorClassValue进度指示条 class。

ClassValue

CSS 类名类型

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

On this page