Progress 进度
基于 TxProgressBar 的线性进度行
用法
状态
status 设置状态色。
示例加载中...
进度行
示例加载中...
自定义文本
<template>
<TuffProgress :percentage="42" :format="value => `完成 ${value}%`" />
</template>
不确定进度
<template>
<TuffProgress indeterminate :percentage="60" :show-text="false" />
</template>
最佳实践
- 简单的行级进度用
TuffProgress;需要分段、tooltip、message、loading/success/error 状态、动效或自定义文本位置时,直接用TxProgressBar。 strokeWidth保持克制;本组件面向行级进度,不用于大号指标。- 时长未知的任务用
indeterminate,没有可信数值时隐藏文本,不要展示过期的百分比。 - 周围界面需要操作上下文时,搭配简短的状态标签。
API 参考
属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
percentage | number | 0 | 确定进度值。 |
status | 'success' | 'error' | 'warning' | '' | '' | 状态色。 |
strokeWidth | number | 6 | 进度条高度(px)。 |
showText | boolean | true | 在进度条外侧显示文本。 |
indeterminate | boolean | false | 不确定进度模式。 |
format | (percentage: number) => string | - | 自定义确定进度的显示文本。 |
概述
- 直接渲染
TxProgressBar,不额外包裹 DOM;percentage、status、indeterminate、showText、format原样转发。 strokeWidth转为height(如"6px");文本位置固定为outside,遮罩样式固定为maskVariant="plain"。- 不派发事件、不提供插槽,进度由宿主更新 props 驱动。
- 确定进度由
TxProgressBar提供role="progressbar"与aria-valuenow;不确定进度省略aria-valuenow。
技术实现
- 安装入口注册组件名
TuffProgress。 - 源码:
packages/tuffex/packages/components/src/progress/。
查看源码
packages/tuffex/packages/components/src/progress/index.ts