【发布时间】:2018-07-11 06:45:49
【问题描述】:
我有一棵 d3 树。每个节点都有一个 EntityType。如果特定节点的 EntityType 等于“电池”,我将其位置设置为比通常情况下离其父节点更远一些。问题是EntityType为'Battery'的节点也有子节点,但它们的位置并没有根据该节点的位置进行修改。
这是我修改的代码。
.attr("transform", (d) => {
if(d.data.EntityType === 'Battery') {
return "translate(" + (d.y +100 ) + "," + (d.x) + ")";
}
我用这条线来修改这个节点的位置。但是我如何修改它的孩子的位置呢?
编辑:
我发现如果我可以检查节点层次结构中的所有父节点,如果在其父层次结构中存在具有 EntityType Battery 的节点,我可以相应地设置其位置。
但现在我必须检查所选节点的完整父层次结构。这可能吗?
【问题讨论】:
标签: javascript typescript d3.js