How to solve a Chart.js 2.0 issue with mouseover and several updates?

若如初见. 提交于 2019-12-20 06:37:58

问题


Very strange, I have a Chart.js chart that I need to update dinamically. The update works fine, but if you move the mouse over the chart or click several times the button Update (Add data), the bars and the lines disappear and in the console shows this error:

Uncaught TypeError: Cannot read property 'draw' of null

Please click on the button several times, you can test it slowly or quickly. Pass the mouse over chart too after click the "Add data" button.

You can test this at: https://jsfiddle.net/s9zraysh/

How can I avoid this error?


回答1:


It is because you mixed up the functions to create a chart and add more data. Fixed it by separating them as shown below.

var canvas = document.getElementById("canvasChart");
var $chart;
function createChart(ID) {
  console.log(canvas);
  console.log(chartsParams);
  $chart = new Chart(canvas, chartsParams['myChart']);
}

function addData() {
  $chart.data.datasets.push({
    label: 'Added',
    data: [12, 32, 43, 53]
  });
  $chart.update();
}

createChart();
document.getElementById("addButton").addEventListener("click", addData);

demo here : https://jsfiddle.net/es0kt36e/2/



来源:https://stackoverflow.com/questions/42189944/how-to-solve-a-chart-js-2-0-issue-with-mouseover-and-several-updates

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!