基本使用
通过 current-rate 传入当前的值 , 通过 text 显示中间的内容
html
<uvCircleProgress text="30%" :current-rate="30" />修改颜色
通过 color 修改轨道颜色
html
<uvCircleProgress color="#07c160" :current-rate="30" />修改轨道颜色
通过 layer-color 修改轨道颜色
html
<uvCircleProgress color="#07c160" layer-color="#3fecff" :current-rate="30" />渐变色
通过传入对象形式显示渐变色
vue
<uvCircleProgress :current-rate="30" :color="gradientColor" />
<script setup>
const gradientColor = {
'0%': '#3fecff',
'100%': '#6149f6'
}
</script>逆时针
通过 clockwise 设置为 false
html
<uvCircleProgress :clockwise="false" :current-rate="30" />修改宽度
通过 stroke-width 设置
html
<uvCircleProgress :stroke-width="60" :current-rate="30" />修改大小
通过 size 设置
html
<uvCircleProgress text="120px" size="120" :current-rate="30" />起始位置
通过 start-position 设置 ,可选 left right bottom
html
<uvCircleProgress text="左边" start-position="left" :current-rate="70" />
<uvCircleProgress text="右边" start-position="right" :current-rate="70" />
<uvCircleProgress text="底部" start-position="bottom" :current-rate="70" />进度条端点形状
通过 stroke-linecap 设置 , 可选 butt square round
html
<uvCircleProgress text="默认" stroke-linecap="butt" :current-rate="70" />
<uvCircleProgress text="正方形" stroke-linecap="square" :current-rate="70" />
<uvCircleProgress text="圆型" stroke-linecap="round" :current-rate="70" />自定义内容
通过默认插槽修改中心内容
html
<div class="rate-num">
{{ minute }}:{{ second }}
</div>
<div class="diy-bg" @click="startD">
<uvCircleProgress
v-model:current-rate="currentRate"
:rate="rate"
:speed="80"
layer-color="none"
color="#1ba082"
>
<div class="diy-content">
<uvIcon name="notice" size="32" color="#fff" />
<div>录音中</div>
</div>
</uvCircleProgress>
</div>props
| 属性 | 含义 | 类型 | 默认值 |
|---|---|---|---|
| v-model:current-rate | 当前进度 | Number | - |
| rate | 目标进度 | [Number, String] | 100 |
| size | 圆环直径,默认单位为 px | [Number, String] | - |
| color | 进度条颜色,传入对象格式可以定义渐变色 | [Object, String] | '#1989fa' |
| stroke-width | 进度条宽度 | [Number, String] | 40 |
| stroke-linecap | 进度条端点的形状,可选值为 square butt | String | 'round' |
| layer-color | 轨道颜色 | String | - |
| fill | 填充颜色 | String | 'none' |
| speed | 动画速度(单位为 rate/s) | [Number, String] | 0 |
| text | 文字 | String | - |
| clockwise | 是否顺时针增加 | Boolean | true |
| start-position | 进度起始位置,可选值为 left、right、bottom | String | 'top' |
slots
| 名称 | 含义 | 参数 |
|---|---|---|
| default | 自定义文字 | - |
css变量
css
--uv-circle-progress-size: 100px;
--uv-circle-progress-layer-color: #ffffff;
--uv-circle-progress-hover-color: #1989fa;
--uv-circle-progress-svg-z-index: 1;
--uv-circle-progress-text-font-size: 14px;
--uv-circle-progress-text-font-weight: 700;
--uv-circle-progress-text-color: #323233;
UV-UI