echarts 宽度写成百分比后只显示100px的问题

本文解决了Vue项目中ECharts图表在Element-UI Tabs组件下显示宽度仅为100px的问题。通过在外层创建一个占位div并绑定ECharts的宽度,确保了图表能够正确展示100%宽度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue项目里用到了echarts,但是发现渲染出来的宽度只有100px,设置的100%宽度不生效
后来找了很久的原因,发现是因为配合使用了 element-ui的tabs切换导致的,tab下的内容默认是display:none,所以echarts的父级宽度为0,就默认是100px了
尝试了好几种解决办法,最终我的解决方案是写了一个空的100%宽度的div在tabs外面,这样能保证在渲染的时候这个div的宽度有了,然后再通过dom操作的方式将echarts的宽度绑定到这个div上,这样就能起到100%宽度的效果了
在这里插入图片描述
实现如下:
在这里插入图片描述

在这里插入图片描述

document.getElementById('trendChart').style.width = document.getElementById('innerWidthAuto').offsetWidth + 'px' //折线图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值