Javascript 如何使用d3.js展开可折叠树上的特定节点?
我有这棵树,我想每次扩展一个节点。我找到了这段代码,但它一次扩展了所有节点Javascript 如何使用d3.js展开可折叠树上的特定节点?,javascript,d3.js,tree,Javascript,D3.js,Tree,我有这棵树,我想每次扩展一个节点。我找到了这段代码,但它一次扩展了所有节点 function expand(d){ if (d._children) { d.children = d._children; d.children.forEach(expand); d._children = null; } } 我在这棵树后面有一个逻辑,我想在任何时候扩展一个特定的节点,通过传递像节点名称这样的参数来选择要扩展的节点 在处理d之前,请停止递归 funct
function expand(d){
if (d._children) {
d.children = d._children;
d.children.forEach(expand);
d._children = null;
}
}
我在这棵树后面有一个逻辑,我想在任何时候扩展一个特定的节点,通过传递像节点名称这样的参数来选择要扩展的节点 在处理
d之前,请停止递归
function expand(d){
if(d._children && d.level < 3){ // or d.name.indexOf("SpecialNode") > -1 or d.category == "expandable" or d.parent.name == "somename" etc
d.children = d._children;
d.children.forEach(expand);
d._children = null;
}
}
(我想我更喜欢后者)
祝你好运
function expand(d){
if(d._children){
d.children = d._children;
d.children.filter(function(d) { return d.name.indexOf("SpecialNode") > -1; })
.forEach(expand);
d._children = null;
}
}