解决echarts因为tab切换导致宽度100%,默认变成100px的问题,加自适应
1.原因
主要是因为使用了tab切换,属性display:none;,导致echarts图表在执行js初始化的时候找不到这个元素,所以自动将“100%”转成了“100”,最后计算出来的图表就成了100px
2 解决方法
直接使用js获取dom元素,使用js设置宽高
<div ref="chart2" ></div>
let chart2 = this.$refs.chart2; // 我使用的ref,也可以使用id或者class获取
chart2.style.width = window.innerWidth - 300 + "px"; //减得数是根据旁边的大小决定的
chart2.style.height = "500px";
window.addEventListener("resize", function() { // 自适应
chart2.style.width = window.innerWidth - 300 + "px";
myChart.resize();
});