2020-12-13 12:42:42 +08:00
..
2020-12-13 12:42:42 +08:00
2020-12-01 10:12:54 +08:00
2020-12-01 10:12:54 +08:00
2020-12-13 12:42:42 +08:00

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 speedrate/s number | string 0
text Text string -
stroke-width Stroke width number | string 40
stroke-linecap Stroke linecapcan 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 -