vue项目切换页面echarts不显示的问题

博客内容讲述了在使用Echarts过程中遇到的一个问题,即页面切换后图表可能无法正常显示,该问题并不总是出现。作者提供了两种解决方案:一是手动删除Echarts生成的_echarts_instance_属性并重新初始化图表;二是利用Vue的$nextTick结合echarts的resize方法来调整图表大小。建议在组件生命周期中使用$nextTick,并且对于显示隐藏操作,推荐使用v-if。此外,还提到使用监听或路由守卫可以确保页面切换后图表的正确刷新。

记录一下,使用echarts碰到的问题,页面切换后,表不显示,而且不是百分百出现,多次点击页面切换页面,可能出现这个问题

 方案一:

手动删除 Echarts 默认生成的 _echarts_instance_ 属性 

const domMap = document.getElementById("你的图id");
// 清除Echarts默认添加的属性
domMap.removeAttribute("_echarts_instance_");
let myChart = this.$echarts.init(domMap);
myChart.setOption({})

方案二:

this.$nextTick(()=>{myChart.resize()})

使用 $nextTick 的回调 配合 echarts 子代的resize来重新设置图表的 宽高

建议在声明周期也使用:

  mounted() {
    this.$nextTick(() => {
      this.initChart()
    })
  },

总结:使用监听或路由守卫,等页面切换回来之后,手动强制刷新echarts表

如果是显示隐藏的话,尽量使用 v-if 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值