如何基于某些条件隐藏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中不再支持此方法。
答案 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
}
]
}
]
}