【发布时间】:2020-04-21 10:41:32
【问题描述】:
我正在使用 chartjs。在 chartjs 中,我使用自定义工具提示和下面的代码。我遇到的问题是 if 语句返回除最后一个之外的所有标签。最后一个 + 标签的总和在 else 语句中返回。
问题在于,当我单击渲染图表中的最后一个标签(以删除数据)时,我也会从工具提示中删除总数。我试图将 if 语句中的 .length -1 更改为 .length。这样,最后一个标签将包含在 if 语句中,但总标签不再起作用。可能是因为 else 语句不再执行。我真的很困惑,希望有人能提供帮助。
tooltips: {
mode: 'index',
titleFontSize: 14,
callbacks: {
label: function(tooltipItem, data) {
var corporation = data.datasets[tooltipItem.datasetIndex].label;
var valor = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
var total = 0;
for (var i = 0; i < data.datasets.length; i++)
total += data.datasets[i].data[tooltipItem.index];
if (tooltipItem.datasetIndex != data.datasets.length - 1) {
return corporation + " €" + valor.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
} else {
return [corporation + " €" + valor.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "."), "Inschrijfprijs : €" + total.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".")];
}
}
}
}
【问题讨论】:
标签: javascript chart.js