使用高级 Chakra UI 组件更快地构建 💎

了解更多
跳到内容
文档演练场指南博客
赞助

进度环

用于以圆形形式显示任务进度。

源代码Storybook主题配置Ark

用法

import { ProgressCircle } from "@chakra-ui/react"
<ProgressCircle.Root>
  <ProgressCircle.Circle>
    <ProgressCircle.Track />
    <ProgressCircle.Range />
  </ProgressCircle.Circle>
  <ProgressCircle.ValueText />
</ProgressCircle.Root>

示例

圆角

使用 ProgressCircle.Range 组件上的 strokeLinecap 属性,使进度环的末端变为圆角。

尺寸

使用 size 属性来改变进度环组件的尺寸。

颜色

使用 colorPalette 属性来改变组件的配色方案。

灰色

红色

绿色

蓝色

青色

粉色

紫色

靛蓝色

橙色

黄色

值文本

渲染 ProgressCircle.ValueText 组件以显示进度值。

5%
5%
5%

自定义粗细

--thickness CSS变量传递给 ProgressCircleRing 组件,以改变环的粗细。

不确定状态

value 属性设置为 null 以渲染不确定状态。

颜色

stroke 属性传递给 ProgressCircle.Range 组件,以改变范围的颜色。

封闭组件

以下是如何使用 ProgressCircle 组件创建一个封闭组件。

import type { SystemStyleObject } from "@chakra-ui/react"
import {
  AbsoluteCenter,
  ProgressCircle as ChakraProgressCircle,
} from "@chakra-ui/react"
import * as React from "react"

interface ProgressCircleProps extends ChakraProgressCircle.RootProps {
  showValueText?: boolean
  valueText?: React.ReactNode
  trackColor?: SystemStyleObject["stroke"]
  cap?: SystemStyleObject["strokeLinecap"]
  thickness?: SystemStyleObject["strokeWidth"]
}

export const ProgressCircle = React.forwardRef<
  HTMLDivElement,
  ProgressCircleProps
>(function ProgressCircle(props, ref) {
  const {
    showValueText,
    valueText,
    trackColor,
    color,
    cap,
    thickness,
    ...rest
  } = props

  return (
    <ChakraProgressCircle.Root {...rest} ref={ref}>
      <ChakraProgressCircle.Circle css={{ "--thickness": thickness }}>
        <ChakraProgressCircle.Track stroke={trackColor} />
        <ChakraProgressCircle.Range stroke={color} strokeLinecap={cap} />
      </ChakraProgressCircle.Circle>
      {showValueText && (
        <AbsoluteCenter>
          <ChakraProgressCircle.ValueText>
            {valueText}
          </ChakraProgressCircle.ValueText>
        </AbsoluteCenter>
      )}
    </ChakraProgressCircle.Root>
  )
})

属性

属性默认值类型
colorPalette 'gray'
'gray' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'cyan' | 'purple' | 'pink'

组件的配色方案

size 'md'
'xs' | 'sm' | 'md' | 'lg' | 'xl'

组件的尺寸

上一个

气泡卡片

下一个

进度条