ChartJS 如何解决错误类型错误:标签.切片不是函数?

ar7v8xwq  于 2022-11-06  发布在  Chart.js
关注(0)|答案(1)|浏览(125)

我正在使用chartjs绘制表的图形,当我执行第一次查询时,它会顺利地绘制我的图形,但当我尝试再次绘制图形时,相同的值或不同的值会显示错误
第一个

if (this.grafico) {
            this.grafico.data = this.datosGrafico;
            document.getElementById('chart-legends').innerHTML = this.grafico.generateLegend();
            this.grafico.update();
} else {
            this.grafico = new Chart('canvas', this.auxData);
 document.getElementById('chart-legends').innerHTML = this.grafico.generateLegend();
}

这是错误线,当然,当我第一次查询时,它直接进入else,因为图形不存在,但当我再次查询时,它进入if,在那里我不知道如何解释这个错误,或者更确切地说,如何解决它。

xt0899hw

xt0899hw1#

js要求labels属性是一个数组。但是您的labels是一个Set对象,它不能使用slice
解决此问题的一种方法是使用数组而不是集合。
另一种方法是从集合中获取一个数组,如下所示:

this.datosGrafico = {
  labels: Array.from(labels),
  datasets: datasets,
};

但是我建议只使用数组而不使用集合。

相关问题