Circle
Install
import { createApp } from 'vue';
import { Circle } from 'vant';
const app = createApp();
app.use(Circle);
Usage
Basic Usage
<van-circle
v-model:current-rate="currentRate"
:rate="30"
:speed="100"
:text="text"
/>
import { ref, computed } from 'vue';
export default {
setup() {
const currentRate = ref(0);
const text = computed(() => currentRate.value.toFixed(0) + '%');
return {
text,
currentRate,
};
},
};
Custom Width
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
:stroke-width="60"
text="Custom Width"
/>
Custom Color
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
layer-color="#ebedf0"
text="Custom Color"
/>
Gradient
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
:color="gradientColor"
text="Gradient"
/>
import { ref } from 'vue';
export default {
setup() {
const currentRate = ref(0);
const gradientColor = {
'0%': '#3fecff',
'100%': '#6149f6',
};
return {
currentRate,
gradientColor,
};
},
};
Counter Clockwise
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
:clockwise="false"
text="Counter Clockwise"
/>
Custom Size
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
size="120px"
text="Custom Size"
/>
API
Props
Attribute |
Description |
Type |
Default |
v-model:current-rate |
Current rate |
number |
- |
rate |
Target rate |
number | string |
100 |
size |
Circle size |
number | string |
100px |
color |
Progress color, passing object to render gradient |
string | object |
#1989fa |
layer-color |
Layer color |
string |
white |
fill |
Fill color |
string |
none |
speed |
Animate speed(rate/s) |
number | string |
0 |
text |
Text |
string |
- |
stroke-width |
Stroke width |
number | string |
40 |
stroke-linecap |
Stroke linecap,can be set to sqaure butt |
string |
round |
clockwise |
Whether to be clockwise |
boolean |
true |
Slots
Name |
Description |
default |
custom text content |
Less Variables
How to use: Custom Theme.
Name |
Default Value |
Description |
@circle-size |
100px |
- |
@circle-color |
@blue |
- |
@circle-layer-color |
@white |
- |
@circle-text-color |
@text-color |
- |
@circle-text-font-weight |
@font-weight-bold |
- |
@circle-text-font-size |
@font-size-md |
- |
@circle-text-line-height |
@line-height-md |
- |