数据与反馈@neumorphism-ui/progress

Progress

使用 Base UI Progress 的 progressbar 语义。会规范化有效的 max 和 value;当 value 缺失或无效时,以 indeterminate 状态呈现。

@neumorphism-ui/progress
Registry JSON

预览

Registry 构建82%
x
主题 token12 / 16
x
等待数据—
x

安装

安装: progressnpx shadcn@latest add @neumorphism-ui/progress

CLI 会依次处理 npm 依赖、base token、utils 和组件源码。

首次使用此 Registry?请先完成 namespace 配置 。

用法

Import

Progress import 代码
import { Progress } from "@/components/ui/progress"

Example

Progress 用法代码
<div className="grid gap-2">
  <div id="upload-label" className="flex justify-between">
    <span>文件上传</span>
    <span>72%</span>
  </div>
  <Progress value={72} max={100} aria-labelledby="upload-label" />
</div>

API 参考

组件属性类型默认值说明
Progressvaluenumber | nullnull当前进度值,会被限制在 0 与 max 之间。
Progressmaxnumber100大于 0 的总范围;无效时使用 100。
Progressaria-label / aria-labelledbystring—为进行中的任务提供无障碍名称。
ProgressgetValueLabel(value, max) => string—在数值之外需要额外说明时生成 aria-valuetext。

无障碍

  • 01

    Progress 需要 aria-label 或 aria-labelledby,例如“文件上传”,以说明正在进行的任务。

  • 02

    即使页面显示了百分比,也不会自动与 progressbar 关联,必须显式连接标签。

  • 03

    将 value 设为 null 表示 indeterminate 状态,此时不要同时显示完成百分比。