Vue3环境下ECharts图表的Tooltip不显示的问题的解决方法

问题描述

         最近在Vue3项目中使用ECharts5.0制作统计图表,发现配置一切正常,但是tooltip无论如何就是无法显示,所以排查了下原因,发现是ECharts与Vue的响应性特性存在兼容性问题。

问题原因

EChartsVue3环境下,使用ECharts5.0+版本会出现该问题。原因是echarts实例不能由Vue来维护(Vue的响应性特性)。

问题解决

所以将原来的代码:

其中,xxxGraph字段为ECharts的示例,目前他位于 data() 的 return 中,由Vue来进行响应性维护。

export default {
  data () {
    return {
      xxxGraph: null
    }
  },
  mounted () {
    this.xxxGraph = echarts.init(document.getElementById('xxxGraph'))
  }
}

更改为如下代码:

其中,xxxGraph字段为ECharts的示例,目前它位于 data() 中,但位于return外,这时xxxGraph不会具备Vue的响应性特性。

export default {
  data () {
    this.xxxGraph = null
    return {
        // ...
    }
  },
  mounted () {
    this.xxxGraph= echarts.init(document.getElementById('xxxGraph'))
  }
}

        按照如上方法更改后,可以刷新页面尝试一下看看是否可以正常显示tooltip了。

        在Vue3.0版本中,只要你确保你的echarts实例不是响应式的,那么tooltip就可以正常显示,目前暂时没有发现在Vue3.0环境中,由于响应性实例对象带来的其他问题。理论上通过该方法均可以进行解决。

        之前在Vue2.0版本中,使用相同版本的ECharts,并没有出现该问题,可能是我的ECharts版本没有适配Vue3.0的原因吧,暂时没有尝试更新ECharts版本,先按照本文的代码修改了。后续有时间的话会尝试下新版本的ECharts在Vue3.0版本中是否可以按照正常写法成功显示tooltip。

        如果有其他问题,可以在评论区留言。

  • 43
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无枫丶

谢谢老板!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值