There is a chart instance already initialized on the dom

  • Post author:
  • Post category:其他


使用Echarts插件的时候,多次加载会出现There is a chart instance already initialized on the dom.的警告,意思是DOM上已经初始化了一个图表实例。

解决办法:

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

var rateChart; //全局变量
function rate_fold(comPany, dataMon, nowSeries) {
  if (rateChart != null && rateChart != "" && rateChart != undefined) {
    rateChart.dispose(); //销毁
  }
  rateChart = echarts.init(document.getElementById('rate_fold_line')); //初始化
  var option = {
    title: {
      text: "大用户成功率"
    },
    tooltip: {
      trigger: 'axis'
    },
    legend: {
      data: comPany,
      orient: 'vertical',
      x: 'right',
      y: 'center'
    },
    calculable: true,
    xAxis: [{
      type: 'category',
      boundaryGap: false,
      data: dataMon,
      axisLabel: {
        rotate: 50
      }
    }],
    yAxis: [{
      type: 'value',
      max: 100,
      min: 98,
      splitNumber: 7
    }],
    series: nowSeries
  };
  rateChart.setOption(option);
}



版权声明:本文为weixin_45940312原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。