qs-circle-percent 是一个基于 canvas 绘制的圆形进度条组件,适用于展示百分比数据,如任务完成度、评分等场景。该组件支持自定义尺寸、颜色、线宽和圆弧角度,使用灵活便捷。
<template>
<view>
<qs-circle-percent
:percent="60"
:size="120"
:lineWidth="8"
color="#ff7b00"
/>
</view>
</template>
<script>
import qsCirclePercent from '@/components/qs-circle-percent/qs-circle-percent.vue'
export default {
components: {
qsCirclePercent
}
}
</script>
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| canvasId | String | "11" | Canvas 元素的 ID,用于绘制圆形进度条 |
| percent | Number | 0 | 当前进度百分比,范围 0-100 |
| size | Number | 100 | 圆形进度条的尺寸(直径),单位为像素 |
| lineWidth | Number | 5 | 进度条的线宽 |
| color | String | "#ff7b00" | 进度条的颜色 |
| backgroundColor | String | "#f2f2f2" | 背景圆的颜色 |
| angle | Number | 360 | 显示的圆弧角度(360=全圆, 180=半圆, 120=三分之一圆) |
<qs-circle-percent :percent="75" />
<qs-circle-percent
:percent="85"
:size="150"
:lineWidth="10"
color="#4caf50"
backgroundColor="#e0e0e0"
/>
<qs-circle-percent
:percent="60"
:angle="180"
color="#2196f3"
/>
<template>
<view>
<qs-circle-percent :percent="progress" />
<button @click="increaseProgress">增加进度</button>
</view>
</template>
<script>
import qsCirclePercent from '@/components/qs-circle-percent/qs-circle-percent.vue'
export default {
components: {
qsCirclePercent
},
data() {
return {
progress: 30
}
},
methods: {
increaseProgress() {
this.progress = Math.min(100, this.progress + 10)
}
}
}
</script>
percent 和 angle 属性的变化并重新绘制canvasIdcreateCanvasContext API,确保在支持 canvas 的环境中使用