加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 21:19:39 所属栏目:百科 来源:网络整理
导读:有没有一种很好的方法来扩展/关闭dijit.Tree中的所有可扩展节点? 对于那些寻找答案的人,请将其放入初始化代码中: var treeControl = new dijit.Tree({ model: treeModel,expandAll: function() { // summary: // Expand all nodes in the tree // returns:
有没有一种很好的方法来扩展/关闭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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读