2

我们如何根据某些条件隐藏 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 不再支持这种方法。

4

2 回答 2

2

Sencha 的论坛上有一个关于这个的话题。似乎这不受支持,但有解决方法。

于 2013-10-04T16:00:46.380 回答
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();
            }
        }
}

根:

{
    "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
                }
            ]
        }
    ]
}
于 2016-03-28T16:04:40.383 回答