2017-03-17 2 views
2

nicht lesen Ich verwende create ChartJS für Create-Diagramm. Und System bieten Möglichkeit, Daten im Datumsbereich zu suchen. Bei der Suche nach neuen Rage Load Chart genau, aber wenn Fokus auf Diagramm alte Chart-Werte wieder anzeigen. zu lösen, dass die bisherige Leinwand Inhalt entfernen und ordnungsgemäßUncaught TypeError: Kann Eigenschaft 'currentStyle' von Null in ChartJS

$('#line').remove(); 
$('#chart_container').append('<canvas id="line" height="600px" style="margin-top:20px;" ></canvas>'); 

Nach diesem Update Diagramm Last mit neuer Leinwand laden, aber Browserkonsole Anzeige unten Fehler enter image description here

Antwort

1

Dies passiert, weil die Ereignisse (Größenänderung) bei der Erstellung verknüpft werden und es keine Prüfung gibt, ob die Zeichenfläche im Größenänderungs-Handler existiert oder nicht.

Um dieses Problem zu vermeiden, können Sie die resize Funktion ändern und die folgende Zeile vor allem einfügen sonst:

if(!this.canvas) return; 
0

Sie das Plugin sowie die alten zu entfernen HTML-Element Versuchen Sie, die ChartJS-Bibliothek neu anzuhängen, nachdem Sie den neuen HTML-Code angehängt haben.

+0

Können Sie die Probe geben – Dushyantha

+0

Nach der neuen Leinwand anhängt, führen Sie einfach diesen Schritt wieder: var ctx = document.getElementById ("Zeile"); var myChart = new Diagramm (ctx, {...}) –

+0

Bereits getan, aber Problem ist nicht lösen. – Dushyantha

0

Statt das Diagramm zu entfernen, können Sie Ihre Datensätze wie folgt zu aktualisieren:

myChart.chart.config.data.labels = myNewLabelsArray; 
myChart.chart.config.data.datasets[0].data = myNewDataArray; 
myChart.update(); 

Ich erinnere mich, eine Menge Probleme mit alten Daten angezeigt haben, und das ist, was es für mich fixiert. Nicht zerstören, nur aktualisieren.

Verwandte Themen