d3.js.如何更新嵌套节点?

时间:2017-10-16 18:08:37

标签: javascript d3.js

这是jsfiddle。我希望在第二步后,当我使用新数据集更新表行时,它将显示3和4.但它仍然显示1和2.为什么?为什么嵌套元素仍然保留旧数据集?怎么解决?如何更新嵌套标签?

const data1 = [1, 2];

const table = d3.select('body')
  .append('table')
  .append('tbody');

table
  .selectAll('tr')
  .data(data1)
  .enter()
  .append('tr')
  .append('td')
  .text(function(d) {
    return d;
  });

const data2 = [3, 4];

table
  .selectAll('tr')
  .data(data2)
  .selectAll('td')
  .text(function(d) {
    return d;
  });

1 个答案:

答案 0 :(得分:0)

要回答您的评论问题,这是一个小组选择select。来自文档:

  

与selection.selectAll不同,selection.select不会影响分组:它会保留现有的组结构和索引,并将数据(如果有)传播给选定的子组。分组在数据连接中起着重要作用。有关此主题的更多信息,请参阅嵌套选择和如何选择。

此处的重要部分是将数据传播给选定的孩子