vue中echarts自适应屏幕大小,延迟执行

项目中出现echarts适应屏幕大小,有时会遇到不管屏幕大小如何变化echarts图表大小不变的情况;或者出现图表变化延迟的情况,针对这两种情况,分别解决
1、echarts大小无法随屏幕大小自适应
在setOption下面加入**resize()**方法

echarts..setOption({
  ......//配置内容
},true);
echarts.resize();

有时这样会出现一个问题 ,随屏幕大小变化,大屏和小屏是无法监听到图表变化的,所以需要监听屏幕浏览器大小

window.addEventListener('resize', () => { //监听浏览器大小去改变图表尺寸
	echarts.resize();
})

OK, 这样又会出现一个问题,这个监听是在mounted中触发,这时还没有获取到屏幕的大小,echarts的 resize()方法已经执行了,就会出现第一次点击屏幕变化图表没有变化,接下来点击的时候会反方向变化图表尺寸:屏幕变小图表变大,屏幕变大图表变小;解决思路:加延迟

window.addEventListener('resize', () => {
	setTimeout(() => {
	  echarts.resize();
	},100)
})
Logo

前往低代码交流专区

更多推荐