隐藏ExtJs 4.1 TreePanel中的节点

时间:2013-10-04 12:02:25

标签: javascript extjs extjs4.1

如何基于某些条件隐藏ExtJs 4.1 TreePanel中的一些节点? 我们可以通过这样做来隐藏ExtJs 3.4中的节点:

tree.getRootNode().cascade(function() { // descends into child nodes
    if(this.attributes['status'] == 100) { // test this node
        this.getUI().hide() // hide this node
    }
})

但ExtJs 4.1中不再支持此方法。

2 个答案:

答案 0 :(得分:1)

Sencha的论坛上有一个topic about this。似乎这不受支持,但有解决方法。

答案 1 :(得分:0)

对于ExtJS 6,例如,当read config为false时,隐藏节点:

hideItemsReadFalse: function () {
    var me = this,
        items = me.getReferences().treelistRef.itemMap;


        for(var i in items){
            if(items[i].config.node.data.read == false){
                items[i].destroy();
            }
        }
}

Root:

{
    "text": "root",
    "children": [
        {
            "text": "Atualização",
            "iconCls": "x-fa fa-list",
            "children": [
                {
                    "leaf":true,
                    "text": "Empresas",
                    "module": "empresas",
                    "iconCls": "x-fa fa-building",
                    "read": false
                },
                {
                    "leaf":true,
                    "text": "Produtos",
                    "module": "produtos",
                    "iconCls": "x-fa fa-cubes",
                    "read": true
                }
            ]
        }
    ]
}