vue e-charts页面切换后无法正常展示问题

在项目上遇到这么一个问题,由于页面需要获取的数据大从而导致页面完成加载的速度过慢,而展示的图表需要通过后端获取的数据才能进行展示。在未加载完成的时候切换到其他子页面后,图表页面加载完成。
在这种情况下需要通过使用ref来获取该图表盒子信息,若使用getelemntbyid会报错获取不到该盒子信息。

<div ref="chart1"></div>
this._chart = echarts.init(this.$refs.chart1)

这样就可以解决报错问题。但是图表没有数据展示。即便点击其他选项也没有数据展示,需要通过挤压该盒子的大小才能展示。
所以我通过重新获取该盒子的大小来解决该问题。

let width = this.$refs.chart1.offsetWidth
let height = this.$refs.chart1.offsetWidth
this._chart.resize(width,height);

这样便可以解决图表因没有获取到宽高无法展示图表信息的问题了
如有需要,当然最好是在最后加上

window.addEventListener("resize", () => { this._chart.resize();});

实时根据该盒子的宽高改变图表大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值