nvd3多条形图状态在图例切换时更新错误

nvd3 multibar chart state incorrectly updating on legend toggle?

本文关键字:更新 错误 条形图 状态 nvd3      更新时间:2023-09-26

TL;DR:根据控制台日志,试着弄清楚这个nvd3 multibarart的单选按钮处于什么状态,即我如何可靠地确定当前向用户显示的数据流?

长版本:

我正试图弄清楚哪些数据流/数组显示在nvd3多条形图中,这样我就可以用与这些流相关的信息更新其他DOM节点。唯一的问题是chart.state似乎返回了与它应该返回的相反的结果:如果我将流切换为"关闭",那么chart.state.disabled就是该流的true。。。除了似乎第一次切换某些内容时,当所有chart.state.disabled[i]流都设置为false。。。在我看来,该房产的整个行为似乎没有发挥应有的作用。这是一个bug还是我不明白应该如何使用它?

一些记录三个流状态的代码,例如:

chart.legend.dispatch.on("legendClick", function() {
    var state = chart.state;
  console.log(state.disabled[0] + "," 
    + state.disabled[1] + ","
    + state.disabled[2]);
});

好吧,就像通常的情况一样,我挖了半个小时,无法让它工作,在SO上发帖,然后去尝试一种不同的方法,它会立即工作:

chart.dispatch.on("stateChange", function(e){
    console.log(JSON.stringify(e.disabled);
}

所以我认为这是ledgendClick事件的一个错误,它没有正确更新图表状态。