1.简单引入:在main.js中
import * as echarts from 'echarts'
Vue.prototype.$echarts = echarts
2.在自定义组件中test.vue创建echarts图形
<template> <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="width: 600px;height:400px;"></div> </template> <script> // 基于准备好的dom,初始化echarts实例 var myChart=echarts.init(document.getElementById('main')); // 指定图表的配置项和数据 var option = { title: { text: 'ECharts 入门示例' }, tooltip: {}, legend: { data:['销量'] }, xAxis: { data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"] }, yAxis: {}, series: [{ name: '销量', type: 'bar', data: [5, 20, 36, 10, 10, 20] }] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); </script>
以上是简单的引入及绘制图形,但是在使用过程中会有很多问题:
1.如真实数据渲染问题
2.echarts的销毁问题
为了解决以上问题,需要对echarts表进行 初始化、更新、及销毁
在组件中
data() {
return {
chart: null,
showChart: true
}
},
methods: {
initChart() {
if (!this.showChart) {
this.destroyChart()
return
}
this.chart = echarts.init(document.getElementById('myChart'))
var colors = ['#007dff', '#4adbed', '#dcdd49', '#7f9897']
var option =
option = {
series: [
{
type: 'pie',
radius: ['90%', '95%'],
label: {show: false,},
data: [
{value: 1048, name: '搜索引擎',},
{value: 735, name: '直接访问'},
]
}
]
}
this.chart.setOption(option)
},
updateChart(data) {
this.showChart = data && data.length > 0
// console.log('有图表数据', this.data.length)
this.$nextTick(() => {
this.initChart()
})
},
destroyChart() {
if (!this.chart) return
this.chart.dispose()
this.chart = null
}
}