解决echarts控制台警告:There is a chart instance already initialize on the dom



当我们把创建一个echarts图表的代码封装成一个方法,一旦多次调用这个方法创建图表的时候使用的dom节点都是同一个,每次都会init一个echarts实例,就会在控制台报如下警告:There is a chart instance already initialize on the dom(在dom上已经初始化了一个图表实例)

因此我们应该先判断是否已经存在图表实例,解决方法如下:

先调用echarts.getInstanceByDom()方法判断是否已经存在echarts实例,如果不存在再去初始化

// 有的话就获取已有echarts实例的DOM节点

let myChart = echarts.getInstanceByDom(document.getElementById("myChart"))

// 如果不存在,就进行初始化

if (myChart == null) {

myChart = echarts.init(document.getElementById("myChart"));

}

let option ={...}

myChart.setOption(option);