v-if后的echarts显示已有dom解决方法

控制台报错:There is a chart instance already initialized on the dom.

 

核心思路:先判断dom是否存在,如存在就调用销毁方法,再初始化正常操作。

echarts内:

复制代码
      if (
          this.myChart != null &&
          this.myChart != "" &&
          this.myChart != undefined
        ) {
          //已存在则调用 dispose() 方法销毁
          this.myChart.dispose();
        }
        this.myChart = this.$echarts.init(this.$refs.echat);
        // this.myChart.clear(); //先销毁原有的
        this.myChart.resize();
        this.myChart.setOption({option})
        window.addEventListener("resize", () => {
          this.myChart.resize();
        });
复制代码

 

父组件内:

要使用this.$nextTick

 
posted @   如意酱  阅读(209)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示