Files
vant/src/circle/README.md
T

3.2 KiB
Raw Blame History

Circle

Intro

The circular progress bar component supports the gradient animation of the progress.

Install

Register component globally via app.use, refer to Component Registration for more registration ways。

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 -