完美解决多个Echarts图表自适应窗口、父容器宽高,并进行性能优化

文章讨论了在Echarts图表中如何实现更精确的自适应布局,特别是针对B端应用中侧边栏宽度变化的情况。推荐使用ResizeObserverAPI监听元素尺寸变化,结合防抖函数提高性能。在多图表场景下,通过监听最大容器而不是每个图表的父容器,能有效避免卡顿,实现更流畅的页面体验。最后提醒在页面销毁时取消监听以释放资源。

场景

很多时候我们会在绘制echarts图表时,使用以下方法监听浏览器尺寸变化,让图表resize()完成自适应

window.addEventListener('resize', ()=>{
   
   
	wordCloudChart.resize()
})

然后,这种自适应真的足够周全嘛?有些时候,比如在B端,经常会有侧边栏的宽度变化影响我们工作区各种div的尺寸自动变化,如果淡村使用addEventListener,那么图表是不会resize()的,问题就出现了。这时候就迫切地需要echarts能够随父容器尺寸变化而响应式调整自身尺寸

解决方案 - ResizeObserver API

浏览器提供的这个API可以监听指定单个element元素的尺寸变化,并在变化时触发对应的回调函数,借此我们可以来监听父容器尺寸变化从而触发resize()

举个例子

<el-col :span="9" class="chartContainer" id="wc">
    <div class="
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六时二一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值