bricks/docs/zh/progressbar.md
2025-11-19 12:30:39 +08:00

31 lines
1.5 KiB
Markdown

# ProgressBar
控件功能:显示进度条,用于可视化任务完成的百分比进度。
类型:普通控件(基于容器控件 HBox 的扩展)
父类控件:`bricks.HBox`
## 初始化参数
| 参数名 | 类型 | 说明 |
|-------------|--------|------|
| `total_value` | Number | (可选)总任务值,用于计算进度百分比,默认为 100 |
| `bar_cwidth` | Number | (可选)进度条高度(以行高为单位),默认为 2 |
> 注意:实际代码中使用了 `this.bar_cwidth||2`,但 `total_value` 在构造函数中未被使用,可能需在 `set_value` 方法中配合 `current` 和 `total` 使用,当前代码存在变量名错误(`current` 和 `total` 未定义)。
## 主要事件
* **无显式定义事件**:当前源码中未绑定或触发任何自定义事件。
* 可能通过继承 `HBox` 拥有基础布局事件,但无额外事件注册。
> ⚠️ 代码问题提示:
> - `set_value` 方法中使用了未定义的变量 `current` 和 `total`,应为 `v` 和 `this.total_value`。
> - 百分比计算逻辑中的变量名不一致:先计算 `pzt = (current / total) * 100`,后又使用 `percentage`,应统一为 `v / this.total_value`。
> 建议修正为:
> ```js
> set_value(v) {
> var percentage = this.total_value ? (v / this.total_value) * 100 : 0;
> percentage = Math.max(0, Math.min(100, percentage));
> this.text_w.set_style('width', percentage + '%');
> }
> ```