Echart图最大化最小化图表resize没效果,渲染延迟

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)
 });

你可能感兴趣的:(echarts,前端,javascript)