页面刷新,echarts重新渲染后canvas宽高为零或百分比失效,canvas=100

这个问题我查过很多地方,也用了好几种大家说过的方法,比如重新加载reSize函数(重新设置宽高),用echarts自带的属性设置默认宽高(如果页面自适应,不可取),反正前前后后好几种都没解决问题,然后我就找到了这一篇博文:
指路:https://www.jianshu.com/p/4d0c4f43ddd1
简单明了,或者说之前也可能查到过,但是没有这么直接的,
总结一下:用this.$nextTick(()=>{…}等到dom加载完成的时候再渲染echarts
在这里插入图片描述
希望有这个问题的小伙伴迅速解决问题不再浪费时间~~

---------------分界线--------------------------------------------------------------------

2022/06/08

今天我又发现了这个问题的引申出的新问题

问题:

tab页切换,A和B需要同时渲染,但是B中有echarts,也就是在B渲染的时候,dom还没有实际的宽高,这个时候就会导致echarts页面的%失效,会显示默认的canvas宽高100

解决:

强制echarts大小更新

解析:

tab页切换常用的有两种实现方法:v-show或v-if,一般都会选择v-show不然会出现渲染dom的问题,但是有时候使用v-show明明渲染了,却没有实际页面的大小,就会导致echarts获取不到实际宽高,从而宽高失效;解决办法就是强制携带一个值,在这个值改变的时候进行页面刷新或者说是调用echarts的resize重绘页面就可以了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值