Echarts图表根据DIV和窗口大小自适应容器

在vue单页项目中,首页使用echarts绘制数据图表,需要全屏展示并隐藏菜单,使得图表宽度100%自适应。由于菜单不在窗口范围内,无法通过监听window resize事件调整图表大小。解决方案是利用'element-resize-detector'插件监听div变化,实现在div尺寸改变时,echarts图表resize,确保图表始终填充整个容器。
摘要由CSDN通过智能技术生成

项目场景:

vue单页面项目新增一个首页,内容主要为数据展示,包括饼图、折线图、柱状图,通过echarts图表库开发页面。

#实现:普通页面会展开左侧菜单,但首页是全屏展示,需要在打开首页的同时隐藏菜单并使首页宽度100%,图表根据容器宽度自适应


问题描述:

一般echart图通过监听window窗口大小并使用 this.myChart.resize() 重新调整尺寸来自适应容器的大小。

但目前遇到一个问题,#question:首页的左侧菜单栏属于document内容,不触发窗口监听,所以需要#监听div的大小来使图表内容resize#


解决方案:

解决方法一:使用“element-resize-detector”插件监听div宽度变化。

1、下载包:npm install element-resize-detector

        我使用的版本是:"element-resize-detector": "^1.2.3"

2、在需要用的组件内引入

        import elementResizeDetectorMaker from 'element-resize-detector'

3、因为项目多个地方用到,所以封装到了工具类utils.js中,

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值