- 由于echart的dom元素使用百分比布局与弹性布局结合,导致图表初始化是找不到元素宽高,会出现不渲染的情况。
解决方案:在setOption后,调用this.chart.resize()来实现自适应,获取宽高。
2.vue项目echart优化
- 用ref绑定替代:echarts.init(this.$refs.lineChart);
- 生命周期销毁前释放:
beforeDestroy(){
if(!this.chart) return;
this.chart.dispose();
this.chart = null;
}
- 自适应:window.addEventListener('resize', myChart.resize);