2017-03-17 166 views
2

我正在使用create ChartJS創建chart.And系統提供工具來搜索日期範圍內的數據。正確搜索新的憤怒負荷圖表時,但重點對舊圖表值重新顯示時。 爲了解決這個刪除以前的帆布內容和使用未捕獲TypeError:無法讀取ChartJS中null屬性的'currentStyle'

$('#line').remove(); 
$('#chart_container').append('<canvas id="line" height="600px" style="margin-top:20px;" ></canvas>'); 

該修復圖表正確加載後加載新的畫布,但瀏覽器控制檯顯示波紋管的錯誤 enter image description here

回答

1

發生這種情況是因爲事件(調整大小)在創建時被綁定,並且沒有檢查調整大小處理程序中畫布是否存在。

爲了避免這個問題,你可以修改resize功能和其他一切之前插入下面一行:

if(!this.canvas) return; 
0

您要移除插件以及老HTML元素。在追加新的HTML之後嘗試重新調用ChartJS庫。

+0

你能給樣品 – Dushyantha

+0

追加新的帆布後,只需再次執行該步驟: var ctx = document.getElementById(「line」); var myChart =新圖(ctx,{...}) –

+0

已經做到了,但問題不解決。 – Dushyantha

0

除刪除圖表,您可以更新數據集是這樣的:

myChart.chart.config.data.labels = myNewLabelsArray; 
myChart.chart.config.data.datasets[0].data = myNewDataArray; 
myChart.update(); 
我記得有很多的舊數據顯示問題

,這就是固定對我來說。不破壞,只是更新。

相關問題