如何通过鼠标悬停和多个更新解决 Chart.js 2.0 问题? [英] How to solve a Chart.js 2.0 issue with mouseover and several updates?

查看:9
本文介绍了如何通过鼠标悬停和多个更新解决 Chart.js 2.0 问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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?

解决方案

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/

这篇关于如何通过鼠标悬停和多个更新解决 Chart.js 2.0 问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆