Reka UI logoReka
backdrop
组件

进度

显示一个指示器,展示任务的完成进度,通常以进度条的形式显示。

功能

  • 为辅助技术提供上下文,以便读取任务进度。

安装

从命令行安装此组件。

sh
$ npm add reka-ui

组成

导入所有部分并将其组合。

vue
<script setup>
import { ProgressIndicator, ProgressRoot } from 'reka-ui'
</script>

<template>
  <ProgressRoot>
    <ProgressIndicator />
  </ProgressRoot>
</template>

无障碍访问

遵循 progressbar 角色要求

API 参考

包含所有进度部分。

属性默认类型
as
'div'
AsTag | 组件

此组件应渲染为的元素或组件。可通过 asChild 覆盖。

asChild
布尔值

更改默认渲染元素为作为子项传递的元素,合并它们的属性和行为。

阅读我们的 组合指南了解更多详情。

getValueLabel
isNumber(value) ? `${Math.round((value / max) * DEFAULT_MAX)}%` : undefined
((value: number | null, max: number) => string)

一个函数,用于获取人类可读格式的无障碍标签文本。

如果未提供,则值标签将以数字值占最大值的百分比形式读取。

getValueText
((value: number | null, max: number) => string)

一个函数,用于获取表示当前值的、人类可读格式的无障碍值文本。

max
DEFAULT_MAX
数字

最大进度值。

modelValue
number | null

进度值。可以绑定为 v-model

事件触发载荷
update:max
[value: number]

当最大值改变时调用的事件处理程序

update:modelValue
[value: string[]]

当进度值改变时调用的事件处理程序

插槽(默认)载荷
modelValue
number | null | undefined

当前输入值

方法类型
getValueLabel
(value: number | null | undefined, max: number) => string | undefined

一个函数,用于获取人类可读格式的无障碍标签文本。

如果未提供,则值标签将以数字值占最大值的百分比形式读取。

数据属性
[data-state]"complete" | "indeterminate" | "loading"
[data-value]当前值
[data-max]最大值

指示器

用于视觉显示进度。它还使进度可供辅助技术访问。

属性默认类型
as
'div'
AsTag | 组件

此组件应渲染为的元素或组件。可通过 asChild 覆盖。

asChild
布尔值

更改默认渲染元素为作为子项传递的元素,合并它们的属性和行为。

阅读我们的 组合指南了解更多详情。

数据属性
[data-state]"complete" | "indeterminate" | "loading"
[data-value]当前值
[data-max]最大值