Vue进度条组件
1、进度条颜色是渐变的
<template>
<div id="progress_bar" ref="myChart"></div>
</template> <script>
import * as echarts from 'echarts';
import { addListener, removeListener } from 'resize-detector';
import debounce from 'lodash/debounce';
export default {
name: 'ProgressBar',
props: {
leftMount: {
type: [Number, String],
default: 0
},
allMount: {
type: [Number, String],
default: 0
}
},
data() {
return {
myChart: null,
option: {}
};
},
created() {
this.resize = debounce(this.resize, 300);
},
mounted() {
this.$nextTick(() => {
this.initProgressBar();
});
},
methods: {
resize() {
this.myChart.resize();
},
initProgressBar() {
this.myChart = echarts.init(this.$refs.myChart);
addListener(this.$refs.myChart, this.resize);
this.option = {
grid: {
left: '0%',
top: '0',
right: '0',
bottom: '0',
containLabel: false,
width: '100%'
},
xAxis: {
type: 'value',
splitLine: { show: false },
axisLabel: { show: false },
axisTick: { show: false },
axisLine: { show: false }
},
yAxis: {
type: 'category',
axisTick: { show: false },
axisLine: { show: false },
axisLabel: {
color: 'black',
fontSize: 17
}
},
series: [
{
name: '/' + this.allMount,
type: 'bar',
barWidth: 18,
data: [parseFloat(this.leftMount)],
label: {
show: false,
offset: [20, 2],
formatter : '{c}{a}',
color: '#fff',
fontSize: 15
},
itemStyle: {
color: new echarts.graphic.LinearGradient(1, 0, 0, 0, [
// { offset: 0, color: '#fec142' }, //柱图渐变色
{offset: 0.5, color: '#70b2b7'}, //柱图渐变色
{ offset: 1, color: '#007980' } //柱图渐变色
]),
barBorderRadius: 9
},
zlevel: 1
},
{
name: '进度条背景',
type: 'bar',
barGap: '-100%',
barWidth: 18,
data: [parseFloat(this.allMount)],
color: '#fec142', //柱条颜色
itemStyle: {
normal: {
barBorderRadius: 9,
borderColor: '#FEFEFE'
}
}
}
]
};
this.myChart.setOption(this.option, true);
}
},
beforeDestroy() {
removeListener(this.$refs.myChart, this.resize);
this.myChart.dispose();
this.myChart = null;
}
};
</script>
<style lang="scss" scoped>
#progress_bar {
width: 100%;
height: 10px;
}
</style>
效果图:

2、颜色不渐变

Vue进度条组件的更多相关文章
- 手把手教你实现一个 Vue 进度条组件!
最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或 npm 等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录. 来看下 npm 搜索组件时候的效果: so 下面咱们一起动手 ...
- 基于Vue的事件响应式进度条组件
写在前面 找了很多Vue 进度条组件!,都不包含拖拽和点击事件,input range倒是原生包含input和change事件,但是直接基于input range做进度条的话,样式部分需要做大量调整和 ...
- vue 的进度条组件
先看效果: 要想实现如上图的,进度跳效果,有两种方式,首先介绍第一种: 1.自己用 div 写一个,代码如下 <template> <div class="mfc-slid ...
- vue+element UI + axios封装文件上传及进度条组件
1.前言 之前在做项目的时候,需要实现一个文件上传组件并且需要有文件上传进度条,现将之前的实现过程简单记录一下,希望可以帮助到有需要的人. 项目用的是Vue框架,UI库使用的是element UI,前 ...
- 详解Bootstrap进度条组件
在网页中,进度条的效果并不少见,如:平分系统.加载状态等,进度条组件使用了css3的transition和animation属性来完成一些特效,这些特效在IE9及IE9以下版本.Firefox的老版本 ...
- 【Android 应用开发】 自定义 圆形进度条 组件
转载著名出处 : http://blog.csdn.net/shulianghan/article/details/40351487 代码下载 : -- CSDN 下载地址 : http://down ...
- 数字进度条组件NumberProgressBar
数字进度条组件NumberProgressBar NumberProgressBar是一款数字进度条组件.它不仅可以通过进度条的变化展现进度,还可以通过跟随文字精确表示进度值.开发者可以对进度条进行 ...
- progressbar进度条组件
Progressbar 进度条组件 通过$.fn.progressbar.fn.defaults重写默认的defaults进度条(progressbar)提供了一种显示长时间操作进度的反馈.进度可被更 ...
- 【progress】 进度条组件说明
progress 进度条组件 原型: <progress percent="[Float(0-100)]" show-info="[Boolean]" b ...
- 第一百九十八节,jQuery EasyUI,ProgressBar(进度条)组件
jQuery EasyUI,ProgressBar(进度条)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 ProgressBar(进度条) ...
随机推荐
- 前端工程化筑基-Node/npm/babel/polyfill/webpack
00.前端搬砖框架 开发 ⇨ 构建 ⇨ 部署上线 ⇨ 摸鱼: 01.Node.js/npm Node.JS 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境,不是JS库(是C ...
- 【转载】EXCEL VBA 工作表拆分
用VBA拆分工作表是一个不错的方法,特别是在处理大量数据的时候,能节省不少时间. 1.高级筛选: 筛选并复制到新工作表的关键代码如下: Range("Database").Ad ...
- [编程基础] C++多线程入门7-条件变量介绍
原始C++标准仅支持单线程编程.新的C++标准(称为C++11或C++0x)于2011年发布.在C++11中,引入了新的线程库.因此运行本文程序需要C++至少符合C++11标准. 文章目录 7 条件变 ...
- elasticsearch实现基于拼音搜索
目录 1.背景 2.安装拼音分词器 3.拼音分词器提供的功能 4.简单测试一下拼音分词器 4.1 dsl 4.2 运行结果 5.es中分词器的组成 6.自定义一个分词器实现拼音和中文的搜索 1.创建m ...
- 蓝桥真题——最短路 & 门牌制作
题目1 最短路 标签:填空题 2019 省赛 如下图所示,G 是一个无向图,其中蓝色边的长度是 1.橘色边的长度是 2.绿色边的长度是 3. 则从 A 到 S 的最短距离是多少? 答案 由图可得,最短 ...
- do-while循环-练习_用循环求出1-100之间的耦合数
do-while循环 do..while循环格式 初始化表达式① do{ 循环体③ 步进表达式④ }while(布尔表达式②); 执行流程 执行顺序:①③④>②③④>②③④-②不满足为止. ...
- 10月28日内容总结——ATM项目开发流程
目录 一.项目开发流程 1.项目需求分析: 2.项目架构设计: 3.项目分组开发: 4.项目提交测试: 5.项目交付上线: 二.项目需求分析 1.主题 2.项目核心 3.项目需求: 4.从需求中提炼出 ...
- Jenkins CLI命令行
Jenkins CLI命令行 jenkins不光可以UI操作还提供了命令行接口 位置 首页->系统管理->工具和动作->Jenkins 命令行接口 在这个界面下载一个jenkins- ...
- Sentinel熔断与限流
1.简介 在线文档: https://sentinelguard.io/zh-cn/docs/system-adaptive-protection.html 功能: 流量控制 速率控制 熔断和限流 和 ...
- 学习Java Day15
今天学习了自定义类