README.zh-CN.md

June 29, 2026 · View on GitHub

@rc-component/progress

Ant Design Ant Design 生态的一部分。

📊 React 进度条组件,支持线型、圆形和自定义进度展示。

NPM version npm downloads build status Codecov bundle size dumi

English | 简体中文

特性

  • LineCircle 使用 SVG 渲染的进度组件。
  • 单值、分段值、渐变颜色和不确定的加载状态。
  • 用于根、导轨和轨道定制的语义 classNamesstyles 插槽。
  • 为共享进度属性提供 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

LineCircle 共享相同的基础属性。

名称类型默认值说明
classNamestring-根节点的附加 className。
classNamesPartial<Record<'root' | 'rail' | 'track', string>>-内部插槽的语义化 className。
gapDegreenumber-环形进度缺口角度。
gapPosition'top' | 'right' | 'bottom' | 'left''bottom'循环进度的间隙位置。
idstring-根元素 ID。
loadingbooleanfalse渲染不确定的加载动画。
onClickReact.MouseEventHandler-单击根 SVG 的处理程序。
percentnumber | number[]0进度百分比。数组会渲染多条轨道。
prefixClsstring'rc-progress'前缀 className。
railColorstring'#D9D9D9'导轨颜色。
railWidthnumber1导轨行程宽度。
stepsnumber | { count: number; gap: number }-以离散步骤渲染进度。
strokeColorstring | Record<string, string | boolean> | Array<string | Record<string, string | boolean>>'#2db7f5'轨道颜色、渐变对象或每条轨道的颜色。
strokeLinecap'round' | 'butt' | 'square''round'描边端点样式。
strokeWidthnumber1轨道描边宽度。
styleReact.CSSProperties-根样式。
stylesPartial<Record<'root' | 'rail' | 'track', React.CSSProperties>>-内部插槽的语义化样式。
transitionstring-用于跟踪更新的 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 许可证发布。