首页 > 解决方案 > 使用数组索引 0 更新 chart.js 不起作用

问题描述

我有一组图表数据对象。我通过传递数组的索引并从对象中提取数据来更新图表数据。这对所有索引都非常有效,除了0.

初始化图表时,我加载了0索引并且图表也可以正常工作,所以我知道这不是该特定索引的数据结构问题。0在使用索引调用图表上的更新函数时,我没有收到任何错误。

这是一个代码笔,显示它不适用于索引 0。

为什么它不更新0索引的图表?

标签: javascriptjsonchart.jschartjs-2.6.0

解决方案


改变:

window.myChart = new Chart(ctx, chartData[curIndex]);

window.myChart = new Chart(ctx, JSON.parse(JSON.stringify(chartData[curIndex])));

原因是您需要克隆对象,否则 myChart 与 chartData[0] 相同,当您单击 1 或 2 时,它会覆盖 0。

这部分代码克隆了对象 JSON.parse(JSON.stringify(chartData[curIndex]))


推荐阅读