README.zh-CN.md
June 29, 2026 · View on GitHub
English | 简体中文
特性
Line和Circle使用 SVG 渲染的进度组件。- 单值、分段值、渐变颜色和不确定的加载状态。
- 用于根、导轨和轨道定制的语义
classNames和styles插槽。 - 为共享进度属性提供 TypeScript 类型定义。
安装
npm install @rc-component/progress
使用
import { Circle, Line } from '@rc-component/progress';
export default () => (
<>
<Line percent={42} strokeWidth={4} strokeColor="#1677ff" />
<Circle percent={75} strokeWidth={6} strokeColor="#52c41a" />
</>
);
import { Circle } from '@rc-component/progress';
export default () => (
<Circle
percent={[30, 20, 10]}
strokeWidth={6}
strokeColor={['#1677ff', '#52c41a', '#faad14']}
railWidth={6}
/>
);
示例
运行本地 dumi 站点:
npm install
npm start
然后打开 http://localhost:8000。
API
Line 和 Circle 共享相同的基础属性。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
className | string | - | 根节点的附加 className。 |
classNames | Partial<Record<'root' | 'rail' | 'track', string>> | - | 内部插槽的语义化 className。 |
gapDegree | number | - | 环形进度缺口角度。 |
gapPosition | 'top' | 'right' | 'bottom' | 'left' | 'bottom' | 循环进度的间隙位置。 |
id | string | - | 根元素 ID。 |
loading | boolean | false | 渲染不确定的加载动画。 |
onClick | React.MouseEventHandler | - | 单击根 SVG 的处理程序。 |
percent | number | number[] | 0 | 进度百分比。数组会渲染多条轨道。 |
prefixCls | string | 'rc-progress' | 前缀 className。 |
railColor | string | '#D9D9D9' | 导轨颜色。 |
railWidth | number | 1 | 导轨行程宽度。 |
steps | number | { count: number; gap: number } | - | 以离散步骤渲染进度。 |
strokeColor | string | Record<string, string | boolean> | Array<string | Record<string, string | boolean>> | '#2db7f5' | 轨道颜色、渐变对象或每条轨道的颜色。 |
strokeLinecap | 'round' | 'butt' | 'square' | 'round' | 描边端点样式。 |
strokeWidth | number | 1 | 轨道描边宽度。 |
style | React.CSSProperties | - | 根样式。 |
styles | Partial<Record<'root' | 'rail' | 'track', React.CSSProperties>> | - | 内部插槽的语义化样式。 |
transition | string | - | 用于跟踪更新的 CSS 过渡。 |
本地开发
npm install
npm start
npm test
npm run tsc
npm run compile
npm run build
dumi 站点默认运行在 http://localhost:8000。
发布
npm run prepublishOnly
包构建完成后,发布流程由 @rc-component/np 通过 rc-np 命令处理。
许可证
@rc-component/progress 基于 MIT 许可证发布。