有没有一种很好的方法来扩展/关闭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); with _this._collapseNode(node);
解决方法
是的,autoExpand = true(作为树的初始化参数).
如果你需要动态展开/折叠,Tree过去常常有一个方法,但我把它拿出来了.但是,您可以从以下位置复制它:http://bugs.dojotoolkit.org/changeset/20529.