- 最近用element UI tabs显示echarts图表,但一设置echarts图表的宽度为100%,图表的宽度就变为100px,在网上搜了很多解决方案,用到了echarts的resize函数,便在代码中添加:
let _this = this; window.addEventListener("resize", function () { _this.siteLine.resize(); });
发现初始化的时候还是不行,但初始化后改变窗口的大小,图表的大小能够随着窗口大小的改变而改变,为了解决初始化的问题,尝试了很多方法,最终代码:
mounted: function () { let myChart = document.getElementById(('siteLine')); myChart.style.width = window.innerWidth - 230 + 'px'; this.siteLine = echarts.init(myChart); setInterval(this.lineInit, 2000); let _this = this; window.addEventListener("resize", function () { let myChart = document.getElementById(('siteLine')); myChart.style.width = window.innerWidth - 230 + 'px'; _this.siteLine.resize(); }); }
上面写的230指的是窗口左半部分列表的宽度,echarts图表占据剩余的宽度,如果除了echarts图表的宽度还有其他动态宽度,只需依次获取其他宽度,并用window.innerWidth减去即可
参考:点击打开链接