在特殊情況下,我們可能是用echarts實例并且setOption()但無法刷新表格內容,例如:我們修改了div容器的內部標簽等等...
原因可能是我們破壞了第一次渲染的div容器的結構,
echarts的渲染邏輯是這樣的:
如果未實例化則進行實例化過程,在此期間會在div容器生成一個?_echarts_instance_ 屬性, 該屬性值就是當前echarts的ID,然后進行后邊的渲染操作。
當我們刷新已經實例化的echarts圖表時,echarts會先匹配改div容器上的_echarts_instance_屬性值是否與實例對象的ID一樣,如果一樣則會在原有的結構上進行渲染,但是因為我破壞了原有的結構,所以無法重新渲染出表格內容,所以我們可以執行如下代碼:
document.getElementById('div的ID').setAttribute('_echarts_instance_', '')
這樣div的_echarts_instance_值就不會被匹配到,這樣echarts就會像渲染新的圖標一樣渲染出來
注:這樣的操作會重新渲染echarts的div容器結構,也就是重新操作了dom,會影響性能