Echarts图表切换变形问题

536 阅读1分钟

做一个简单的大屏时几乎每个页面都有一个Echarts图表,切换过程中有时会出现图表压缩变形问题,审查元素发现尺寸只有100px*100px,到网上查说是因为Echarts图表是根据你定义的div 的样式来确定图表的大小,当图表隐藏时,Echarts会找不到div的宽和高,再次显示时它会给自己一个非常小的默认宽高值,所以在隐藏显示后会发现它变得非常非常的小。下图1为变形后的图,图2为原图。

1.png

2.png

解决办法:

1、自适应

window.addEventListener('resize', function () { myChart.resize(); // 添加 resize 事件监听 }); option && myChart.setOption(option); 我加上没用

2、在mounted里调用绘制图标的函数时用nextTick包裹

mounted(){ this.$nextTick(()=>{ this.bar() }) }