echarts 一个div中包含多个图表渲染bug

  • 上周项目的首页中有四个仪表盘类似,从代码的复用性角度去考虑,我决定在同一个div中使用flex布局将四个仪表盘渲染出来。
  • 但是出现了一个令人头痛的问题,在第二次进入首页后,仪表盘的图表竟然不渲染了,打开控制台后发现报了一个错误,大意是:当前echarts的实例已存在,不可重复申明。
  • 接着在网上找了很多解决方式:例如使用echarts的dispose方法去销毁实例,但仍然无济于事。
  • 最后还是在echarts的官方文档中找到了解决办法
    *

     document.getElementById('当前图表id')?.setAttribute('_echarts_instance_', '当前图表id')

    官方文档yyds
    下面贴出官方文档中的解释:
    创建一个 ECharts 实例,返回 echartsInstance,不能在单个容器上初始化多个 ECharts 实例。

具体原因见下方博客:
https://blog.csdn.net/weixin_...

你可能感兴趣的:(echarts前端vue3)