我正在使用React + Recharts来创建堆叠和分组的条形图,这是我第一次使用Recharts。但是图例不能正常工作,我想让图例切换每组中的两个图形,但它只适用于左侧栏,而不适用于右侧栏。有没有可能让它同时适用于这两种情况?

我是这样做的:
const selectBar = event => {
let updatedLabels = [];
let updatedLabelsSpend = [];
for (let i = 0; i < data.labels.length; i++) {
let label = data.labels[i];
let spendLabel = data.filteredDataSpend[i];
if (label.key !== event.value) {
updatedLabels.push(label);
updatedLabelsSpend.push(spendLabel);
} else {
if (/\s/.test(label.key) && /\s/.test(spendLabel.key)) {
let newLabel = { key: label.key.trim(), color: label.color };
let newLabelSpend = {
key: spendLabel.key.trim(),
color: spendLabel.color,
};
updatedLabels.push(newLabel);
updatedLabelsSpend.push(newLabelSpend);
} else {
let newLabel = { key: label.key + ' ', color: label.color };
let newLabelSpend = {
key: spendLabel.key + ' ',
color: spendLabel.color,
};
updatedLabels.push(newLabel);
updatedLabelsSpend.push(newLabelSpend);
}
}
}
setData({ ...data, labels: updatedLabels });
};您可以在demo中查看演示
有什么需要帮忙的吗?
发布于 2020-10-27 09:32:24
您错过了filteredDataSpend的状态更新,这个小小的更改可以修复它
setData({
...data,
labels: updatedLabels,
filteredDataSpend: updatedLabelsSpend
});https://stackoverflow.com/questions/64546618
复制相似问题