返回介绍

Circle 环形进度条

发布于 2020-10-24 06:04:56 字数 5958 浏览 4294 评论 0 收藏 0

介绍

圆环形的进度条组件,支持进度渐变动画。

引入

import { createApp } from 'vue';
import { Circle } from 'vant';

const app = createApp();
app.use(Circle);

代码演示

基础用法

rate 属性表示进度条的目标进度,v-model:current-rate 表示动画过程中的实时进度。当 rate 发生变化时,v-model:current-rate 会以 speed 的速度变化,直至达到 rate 设定的值。

<van-circle
  v-model:current-rate="currentRate"
  :rate="30"
  :speed="100"
  :text="text"
/>
export default {
  data() {
    return {
      currentRate: 0,
    };
  },
  computed: {
    text() {
      return this.currentRate.toFixed(0) + '%';
    },
  },
};

宽度定制

通过 stroke-width 属性来控制进度条宽度。

<van-circle
  v-model:current-rate="currentRate"
  :rate="rate"
  :stroke-width="60"
  text="宽度定制"
/>

颜色定制

通过 color 属性来控制进度条颜色,layer-color 属性来控制轨道颜色。

<van-circle
  v-model:current-rate="currentRate"
  :rate="rate"
  layer-color="#ebedf0"
  text="颜色定制"
/>

渐变色

color 属性支持传入对象格式来定义渐变色。

<van-circle
  v-model:current-rate="currentRate"
  :rate="rate"
  :color="gradientColor"
  text="渐变色"
/>
export default {
  data() {
    return {
      currentRate: 0,
      gradientColor: {
        '0%': '#3fecff',
        '100%': '#6149f6',
      },
    };
  },
};

逆时针方向

clockwise 设置为 false,进度会从逆时针方向开始。

<van-circle
  v-model:current-rate="currentRate"
  :rate="rate"
  :clockwise="false"
  text="逆时针方向"
/>

大小定制

通过 size 属性设置圆环直径。

<van-circle
  v-model:current-rate="currentRate"
  :rate="rate"
  size="120px"
  text="大小定制"
/>

API

Props

参数说明类型默认值
v-model:current-rate当前进度number-
rate目标进度number / string100
size圆环直径,默认单位为 pxnumber / string100px
color进度条颜色,传入对象格式可以定义渐变色string / object#1989fa
layer-color轨道颜色stringwhite
fill填充颜色stringnone
speed动画速度(单位为 rate/s)number / string0
text文字string-
stroke-width进度条宽度number / string40
stroke-linecap进度条端点的形状,可选值为 sqaure buttstringround
clockwise是否顺时针增加booleantrue

Slots

名称说明
default自定义文字内容

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文