我想使用复选框从 chart.js 添加和删除数据集。
现在我正在使用这个添加:
var ds1 = {
label: ..
data: .. etc
};
data.datasets.push(ds1);
当我取消选中任何复选框时,它总是删除最后添加的数据集,这不是复选框所必需的。
我正在使用 data.datasets.pop(ds1);
在单击复选框时删除。
最佳答案
如果您使用 data.datasets.pop(ds1)
进行删除,您将永远得不到想要的结果。 dataset
属性是一个数组,所以我们只关注数组而忽略 Chart.js。
第一个问题是 the pop()
method of the Arrays type does not take an argument ,因此提供您要删除的元素是无关紧要的。 Pop()
将始终从数组中删除最后一个元素。
要从数组中删除特定元素,您需要使用 splice()
功能。
假设 ds1
是您要删除的元素。
let removalIndex = data.datasets.indexOf(ds1); //Locate index of ds1
if(removalIndex >= 0) { //make sure this element exists in the array
data.datasets.splice(removalIndex, 1);
}
这将删除数组中从我们位于 ds1
的索引开始的第 1 条记录。
关于javascript - 如何从 Chart.js 中删除特定数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44853568/