有没有一种好方法来扩展/关闭 dijit.Tree
中的所有可扩展节点?
对于那些寻找答案的人,请将其放入您的初始化代码中:
var treeControl = new dijit.Tree({
model: treeModel,
expandAll: function() {
// summary:
// Expand all nodes in the tree
// returns:
// Deferred that fires when all nodes have expanded
var _this = this;
function expand(node) {
_this._expandNode(node);
var childBranches = dojo.filter(node.getChildren() || [], function(node) {
return node.isExpandable;
});
var def = new dojo.Deferred();
defs = dojo.map(childBranches, expand);
}
return expand(this.rootNode);
}
});
至少,这对我有用。你可以用
collapseAll()
做同样的事情,你只需要用 _this._expandNode(node);
切换 _this._collapseNode(node);
最佳答案
是的,autoExpand=true(作为树的初始化参数)。
如果你需要动态展开/折叠,Tree 曾经有一个方法,但我把它拿出来了。但是,您可以从以下位置复制它: http://bugs.dojotoolkit.org/changeset/20529 。
关于dojo - 展开 dijit.Tree 中的所有节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2161032/