dojo – 扩展dijit.Tree中的所有节点

前端之家收集整理的这篇文章主要介绍了dojo – 扩展dijit.Tree中的所有节点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有一种很好的方法来扩展/关闭dijit.Tree中的所有可扩展节点?

对于那些寻找答案的人,请将其放入初始化代码中:

  1. var treeControl = new dijit.Tree({
  2. model: treeModel,expandAll: function() {
  3. // summary:
  4. // Expand all nodes in the tree
  5. // returns:
  6. // Deferred that fires when all nodes have expanded
  7.  
  8. var _this = this;
  9.  
  10. function expand(node) {
  11. _this._expandNode(node);
  12.  
  13. var childBranches = dojo.filter(node.getChildren() || [],function(node) {
  14. return node.isExpandable;
  15. });
  16.  
  17. var def = new dojo.Deferred();
  18. defs = dojo.map(childBranches,expand);
  19. }
  20. return expand(this.rootNode);
  21. }
  22. });

至少,这对我有用.你可以用collapseAll()做同样的事情,你只需要切换_this._expandNode(node); with _this._collapseNode(node);

解决方法

是的,autoExpand = true(作为树的初始化参数).

如果你需要动态展开/折叠,Tree过去常常有一个方法,但我把它拿出来了.但是,您可以从以下位置复制它:http://bugs.dojotoolkit.org/changeset/20529.

猜你在找的Dojo相关文章