我每次修改输入字段时都试图更新我的饼图(使用Chart.js)。我这样做是通过用空画布替换现有图形然后重绘它。这是有效的,但导致我得到一个“TypeError:无法读取属性'currentStyle'的null”。
代码如下,
function drawSummaryPie() {
$('#myChart').replaceWith('<canvas id="myChart" width="200" height="200"></canvas>');
draw();
}[enter image description here][1]
任何帮助将不胜感激!
HTML:
<div id="line_chart" style="padding-bottom: 20px;">
<canvas id="chartJSContainer" height="100"></canvas>
</div>
JS:
$('#chartJSContainer').remove();
$('#line_chart').html('<canvas id="chartJSContainer" height="100"></canvas>');
var linectxx = document.getElementById('chartJSContainer').getContext('2d');
var newlinechart = new Chart(linectxx, options1);
它为我工作。使用.html()而不是.append :)
我解决了将画布放在div中的问题,例如:
<div style="width:75%;">
<canvas id="canvas"></canvas>
</div>
或者在JS中:
var div = document.createElement('div');
div.style = "width:100%;";
canvas = document.createElement('canvas');
div.appendChild(canvas);
Marcio Rossato的解决方案对我没有用,但是这个解决了:
在这里看到Valentin:Solution for "Cannot read property 'currentStyle' of null in ChartJS"的答案
我下载了文件并对其进行了修改,现在没有错误:)