TypeError:无法在chart.js中读取null的属性“currentStyle”

问题描述 投票:3回答:3

我每次修改输入字段时都试图更新我的饼图(使用Chart.js)。我这样做是通过用空画布替换现有图形然后重绘它。这是有效的,但导致我得到一个“TypeError:无法读取属性'currentStyle'的null”。

代码如下,

function drawSummaryPie() {
$('#myChart').replaceWith('<canvas id="myChart" width="200" height="200"></canvas>');
draw(); 
}[enter image description here][1]   

错误:enter image description here

任何帮助将不胜感激!

chart.js
3个回答
4
投票

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 :)


0
投票

我解决了将画布放在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);

0
投票

Marcio Rossato的解决方案对我没有用,但是这个解决了:

在这里看到Valentin:Solution for "Cannot read property 'currentStyle' of null in ChartJS"的答案

我下载了文件并对其进行了修改,现在没有错误:)

© www.soinside.com 2019 - 2024. All rights reserved.