2017-03-17 169 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(); 
我记得有很多的旧数据显示问题

,这就是固定对我来说。不破坏,只是更新。

相关问题