我需要改变条形图的背景颜色,当我在图例中选择它时。当我用ci.update()
更新图表时,颜色重置。
options: {
plugins: {
legend: {
display: true,
position: 'right',
onClick: function (e, legendItem, legend) {
const index = legendItem.datasetIndex;
const ci = legend.chart;
const meta = ci.getDatasetMeta(index);
const element = meta.data[0];
if (!legendItem.checked) {
element.options.backgroundColor = 'rgba(255, 159, 64, 1)';
legendItem.lineWidth = 2;
legendItem.strokeStyle = 'rgba(0,0,0, 1)';
legendItem.checked = true;
} else {
legendItem.checked = false;
}
ci.update();
}
}
}
}
1条答案
按热度按时间ulmd4ohb1#
当调用chart.update()时,图表将从
chart.data.datasets
开始重新配置自身,所有元素选项(同时更改)都将丢失。必须更改chart.data.datasets
。必须存储原始的backgroundColor
,否则它们将丢失。第一个