當我們把創建一個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);