这是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;
});
答案 0 :(得分:0)
要回答您的评论问题,这是一个小组选择select。来自文档:
与selection.selectAll不同,selection.select不会影响分组:它会保留现有的组结构和索引,并将数据(如果有)传播给选定的子组。分组在数据连接中起着重要作用。有关此主题的更多信息,请参阅嵌套选择和如何选择。
此处的重要部分是将数据传播给选定的孩子。