1、 问题描述
页面上添加一个echart图,无论是引入子组件的方式添加,还是直接在当前组件添加echarts图,在设置了 window.addEventListener("resize", () => { console.log('窗口变化啦'); myChart.resize(); });
之后,窗口【扩大、缩小、最大化、最小化】时都能触发resize方法,并打印‘窗口变化啦’,但是echarts图表只在窗口【扩大、缩小】时实时变化,在窗口【最大化、最小化】时不能实时变化,有延迟。
2、原因
1、 可能是给存放echart图的父元素设置了固定宽度
2、也可能给存放echart图的父元素不仅设置了 display: flex; justify-content: space-evenly;还设置了固定宽度
总之,就是不能设置固定宽度
3、解决方法
方法1、去掉父元素的固定宽度
方法2、添加定时器,延迟触发resize即可
//随着屏幕大小调节图表
window.addEventListener("resize", () => {
setTimeout(function (){
myChart.resize();
},200)
});