# Progress 组件 API 文档
本文档由 `DeepSeek R1` 模型生成并微调。
---
## 核心特性
-   **动态进度显示**:支持 0.0~1.0 范围的进度可视化
-   **双色样式分离**:可分别定制已完成/未完成部分样式
-   **精准定位**:支持像素级坐标控制
-   **平滑过渡**:数值变化自动触发重绘
---
## Props 属性说明
| 属性名       | 类型             | 默认值   | 描述                  |
| ------------ | ---------------- | -------- | --------------------- |
| `loc`        | `ElementLocator` | **必填** | 进度条容器坐标        |
| `progress`   | `number`         | **必填** | 当前进度值(0.0~1.0) |
| `success`    | `CanvasStyle`    | `green`  | 已完成部分填充样式    |
| `background` | `CanvasStyle`    | `gray`   | 未完成部分填充样式    |
| `lineWidth`  | `number`         | `2`      | 进度条线宽(像素)    |
---
## 使用示例
### 基础用法
```tsx
import { defineComponent, ref } from 'vue';
import { Progress } from '@user/client-modules';
import { onTick } from '@motajs/render';
export const MyCom = defineComponent(() => {
    // 创建响应式进度值
    const loadingProgress = ref(0);
    // 模拟进度更新
    onTick(() => {
        if (loadingProgress.value < 1) {
            loadingProgress.value += 0.002;
        }
    });
    return () => (
        
    );
});
```
### 自定义样式
```tsx
// 自定义进度条的已完成和未完成部分的样式
```
### 垂直进度条
```tsx
// 通过旋转容器实现垂直效果,注意锚点的使用
    
```
---
## 动画效果实现
### 平滑过渡示例
```tsx
import { transitioned } from '@user/client-modules';
import { pow } from 'mutate-animate';
const progressValue = transitioned(0, 2000, pow(2, 'out'));
progressValue.set(1); // 2秒内完成二次曲线平滑过渡
return () => (
    
);
```
---
## 注意事项
1. **坐标系统**  
   实际渲染高度由 `loc[3]` 参数控制,会自动上下居中:
    ```tsx
    // 情况1:显式指定高度为8px
    
    ```