ECharts報錯: Uncaught Error: `setOption` should not be called during main process


Echarts數據圖形渲染,圖形數據量比較大,渲染后,點擊查詢圖形再次渲染,可能數據量大,重新渲染時,出現Uncaught Error: `setOption` should not be called during main process

這個錯誤,代碼肯定是沒有問題的,因為第一遍默認加載的時候是正常顯示,只是重新渲染的時候出現了問題。

這個報錯,是為了限制 setOption 調用時機,意思是如果 setOption 或者 dispatchAction 的流程沒有走完,中途再調用一次 setOption 會受限。

看相關資料,有一個通過設置setOption延時的方法看着應該可行,但是,到我這里時間給的的很長也沒用成功。只能另尋出路,出現這個原因,肯定是Echarts畫圖的時候重復了,因為剛開始初始化第一張時,是正常渲染,那查詢后重新繪制一張失敗的話?有沒有可能將之前的Echarts圖先擦去清除,重新繪制呢?

理論是可能,實際也是,在Echarts中找到了一個清除的方法,只要在setOption之前,先做一次clear,在執行setOption即可:代碼如下:

myChart1.clear();
myChart1.setOption(option);
通過時間延時的方法:

setTimeout(myCHart1.setOption(option), 500);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM