前言
使用的echart 版本: 5.0
设计的原则:
- 封装一个通用的echart-vue基础组件,实现包括loading动画,数据预加载等等;
- 根据项目特点,封装常用的echart各种类型图表的option配置
具体代码:
//echart组件
<template>
<div class="bar-chart" :id="id" :style="style"></div>
</template>
<script>
import { getUId } from '@/util/uuid' // 随机生成uuid
export default {
props: {
chartTitle: {
type: String,
default: ''
},
isLoading: {
type: Boolean,
default: true
},
option: {
type: Object,
default: {}
}
},
data() {
return {
chart: undefined,
id: undefined
}
},
computed: {
style() {
return {
height: this.height,
width: this.width
}
}
},
created() {
this.id = getUId()
},
mounted() {
this.chart = this.$echarts.init(document.getElementById(this.id))
this.chart.setOption(this.option)
},
methods: {
// 更新echart配置项,如果参数是回调函数,显示loading动画
async updateOption(argus) {
if (typeof argus === 'function') {
if (this.isLoading) {
this.chart.showLoading()
}
const option = await argus()
this.chart.setOption(option)
} else {
this.chart.setOption(argus)
}
}
}
}
</script>
<style scoped>
</style>
// 柱状图默认配置项
export const BARCHART_OPTION = {
title: {
text: '---',
subtext: '--',
left: 'center'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
xAxis: {
type: 'category',
data: []
},
yAxis: {
type: 'value'
},
series: [{
type: 'bar'
}]
}
// vue页面中使用
<template>
<Echart ref="chart" :chart-title='' class="chart" :option="Option" :style="{width:'100%',height:'380px'}"/>
</template>
<script>
import Echart from '@/components/echart/index'
import { BARCHART_OPTION } from '@/components/echart/comp/echart-default-option'
export default {
name: 'StatisWindow',
components: { Echart },
data() {
return {
option: Object.assign({}, BARCHART_OPTION),
}
},
mounted() {
this.$refs.chart.updateOption({
//具体配置项
})
}
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
- 找不到素材资源介绍文章里的示例图片?
- 对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
- 模板不会安装或需要功能定制以及二次开发?
- 请QQ联系我们
发表评论
还没有评论,快来抢沙发吧!