import{o as a,a as t,y as n}from"./vue-libs.b44bc779.js";const e={class:"van-doc-markdown-body"},l=n(`
\u5706\u73AF\u5F62\u7684\u8FDB\u5EA6\u6761\u7EC4\u4EF6\uFF0C\u652F\u6301\u8FDB\u5EA6\u6E10\u53D8\u52A8\u753B\u3002
\u901A\u8FC7\u4EE5\u4E0B\u65B9\u5F0F\u6765\u5168\u5C40\u6CE8\u518C\u7EC4\u4EF6\uFF0C\u66F4\u591A\u6CE8\u518C\u65B9\u5F0F\u8BF7\u53C2\u8003\u7EC4\u4EF6\u6CE8\u518C\u3002
import { createApp } from 'vue';
import { Circle } from 'vant';
const app = createApp();
app.use(Circle);
rate
\u5C5E\u6027\u8868\u793A\u8FDB\u5EA6\u6761\u7684\u76EE\u6807\u8FDB\u5EA6\uFF0Cv-model:current-rate
\u8868\u793A\u52A8\u753B\u8FC7\u7A0B\u4E2D\u7684\u5B9E\u65F6\u8FDB\u5EA6\u3002\u5F53 rate
\u53D1\u751F\u53D8\u5316\u65F6\uFF0Cv-model:current-rate
\u4F1A\u4EE5 speed
\u7684\u901F\u5EA6\u53D8\u5316\uFF0C\u76F4\u81F3\u8FBE\u5230 rate
\u8BBE\u5B9A\u7684\u503C\u3002
<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,
};
},
};
\u901A\u8FC7 stroke-width
\u5C5E\u6027\u6765\u63A7\u5236\u8FDB\u5EA6\u6761\u5BBD\u5EA6\u3002
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
:stroke-width="60"
text="\u5BBD\u5EA6\u5B9A\u5236"
/>
\u901A\u8FC7 color
\u5C5E\u6027\u6765\u63A7\u5236\u8FDB\u5EA6\u6761\u989C\u8272\uFF0Clayer-color
\u5C5E\u6027\u6765\u63A7\u5236\u8F68\u9053\u989C\u8272\u3002
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
layer-color="#ebedf0"
text="\u989C\u8272\u5B9A\u5236"
/>
color
\u5C5E\u6027\u652F\u6301\u4F20\u5165\u5BF9\u8C61\u683C\u5F0F\u6765\u5B9A\u4E49\u6E10\u53D8\u8272\u3002
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
:color="gradientColor"
text="\u6E10\u53D8\u8272"
/>
import { ref } from 'vue';
export default {
setup() {
const currentRate = ref(0);
const gradientColor = {
'0%': '#3fecff',
'100%': '#6149f6',
};
return {
currentRate,
gradientColor,
};
},
};
\u5C06 clockwise
\u8BBE\u7F6E\u4E3A false
\uFF0C\u8FDB\u5EA6\u4F1A\u4ECE\u9006\u65F6\u9488\u65B9\u5411\u5F00\u59CB\u3002
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
:clockwise="false"
text="\u9006\u65F6\u9488\u65B9\u5411"
/>
\u901A\u8FC7 size
\u5C5E\u6027\u8BBE\u7F6E\u5706\u73AF\u76F4\u5F84\u3002
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
size="120px"
text="\u5927\u5C0F\u5B9A\u5236"
/>
\u8FDB\u5EA6\u6761\u9ED8\u8BA4\u4ECE\u9876\u90E8\u5F00\u59CB\uFF0C\u53EF\u4EE5\u901A\u8FC7 start-position
\u5C5E\u6027\u8BBE\u7F6E\u8D77\u59CB\u4F4D\u7F6E\u3002
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
:text="\u5DE6\u4FA7"
start-position="left"
/>
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
text="\u53F3\u4FA7"
start-position="right"
/>
<van-circle
v-model:current-rate="currentRate"
:rate="rate"
text="\u5E95\u90E8"
start-position="bottom"
/>
\u53C2\u6570 | \u8BF4\u660E | \u7C7B\u578B | \u9ED8\u8BA4\u503C |
---|---|---|---|
v-model:current-rate | \u5F53\u524D\u8FDB\u5EA6 | number | - |
rate | \u76EE\u6807\u8FDB\u5EA6 | number | string | 100 |
size | \u5706\u73AF\u76F4\u5F84\uFF0C\u9ED8\u8BA4\u5355\u4F4D\u4E3A px | number | string | 100px |
color | \u8FDB\u5EA6\u6761\u989C\u8272\uFF0C\u4F20\u5165\u5BF9\u8C61\u683C\u5F0F\u53EF\u4EE5\u5B9A\u4E49\u6E10\u53D8\u8272 | string | object | #1989fa |
layer-color | \u8F68\u9053\u989C\u8272 | string | white |
fill | \u586B\u5145\u989C\u8272 | string | none |
speed | \u52A8\u753B\u901F\u5EA6\uFF08\u5355\u4F4D\u4E3A rate/s\uFF09 | number | string | 0 |
text | \u6587\u5B57 | string | - |
stroke-width | \u8FDB\u5EA6\u6761\u5BBD\u5EA6 | number | string | 40 |
stroke-linecap | \u8FDB\u5EA6\u6761\u7AEF\u70B9\u7684\u5F62\u72B6\uFF0C\u53EF\u9009\u503C\u4E3A square butt | string | round |
clockwise | \u662F\u5426\u987A\u65F6\u9488\u589E\u52A0 | boolean | true |
start-position v3.2.1 | \u8FDB\u5EA6\u8D77\u59CB\u4F4D\u7F6E\uFF0C\u53EF\u9009\u503C\u4E3A left \u3001right \u3001bottom | CircleStartPosition | top |
\u540D\u79F0 | \u8BF4\u660E |
---|---|
default | \u81EA\u5B9A\u4E49\u6587\u5B57\u5185\u5BB9 |
\u7EC4\u4EF6\u5BFC\u51FA\u4EE5\u4E0B\u7C7B\u578B\u5B9A\u4E49\uFF1A
import type { CircleProps, CircleStartPosition } from 'vant';
\u7EC4\u4EF6\u63D0\u4F9B\u4E86\u4E0B\u5217 CSS \u53D8\u91CF\uFF0C\u53EF\u7528\u4E8E\u81EA\u5B9A\u4E49\u6837\u5F0F\uFF0C\u4F7F\u7528\u65B9\u6CD5\u8BF7\u53C2\u8003 ConfigProvider \u7EC4\u4EF6\u3002
\u540D\u79F0 | \u9ED8\u8BA4\u503C | \u63CF\u8FF0 |
---|---|---|
--van-circle-size | 100px | - |
--van-circle-color | var(--van-primary-color) | - |
--van-circle-layer-color | var(--van-white) | - |
--van-circle-text-color | var(--van-text-color) | - |
--van-circle-text-font-weight | var(--van-font-weight-bold) | - |
--van-circle-text-font-size | var(--van-font-size-md) | - |
--van-circle-text-line-height | var(--van-line-height-md) | - |