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 @ 2024-02-18 16:47  如意酱  阅读(50)  评论(0编辑  收藏  举报