returnture 2022-03-14 16:20 采纳率: 66.7%
浏览 137
已结题

element 的tabs 中使用 ECharts

问题遇到的现象和发生背景 : 使用element 的tabs 每一项是不同的 表格
问题相关代码,请勿粘贴截图 <el-tabs v-model="activeName" @tab-click="clickECharts">
        <el-tab-pane label="订单统计" name="first" :lazy="true">
         
            <div id="mychart1" ref="mychart1"></div>
         
        </el-tab-pane>
        <el-tab-pane label=" 素材数据" name="second" :lazy="true">
          <div id="mychart2"></div>
        </el-tab-pane>
        <el-tab-pane label="合成数据" name="third" :lazy="true">
          <div id="mychart3"></div>
        </el-tab-pane>
      </el-tabs>

    if (tab.name == "second") {
      this.$nextTick(() => {
         console.log(document.getElementById("mychart2"));
        this.initEcharts(echarts.init(document.getElementById("mychart2")), ["1111111111", "2", "3", "4", "5",
          "6", "7"
        ]);
      });
    } else if (tab.name == "third") {
      this.$nextTick(() => {
         console.log(document.getElementById("mychart3"));
        this.initEcharts(echarts.init(document.getElementById("mychart3")), ["122222222222222", "2", "3", "4",
          "5", "6", "7"
        ]);
      });
    } else if (tab.name == "first") {
      this.$nextTick(() => {
         console.log(document.getElementById("mychart1"));
        this.initEcharts(echarts.init(document.getElementById("mychart1")), ["13333333333333333", "2", "3", "4",
          "5", "6", "7"
        ]);
      });
    }
运行结果及报错内容

There is a chart instance already initialized on the dom.

我的解答思路和尝试过的方法

想到了tabs 切换的时候重新渲染了页面。 所以猜想这因为这个问题。

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 你好!机器人 2022-03-14 16:27
    关注

    在使用Echarts插件的方法外面定义一个全局变量(注意:一定得是全局变量),然后在插件使用的方法内,添加判断,调用eChart.dispose()方法先将图表销毁,然后再初始化

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月14日
  • 已采纳回答 9月6日
  • 创建了问题 3月14日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作