在 ExtJs 4.1 TreePanel 中隐藏一个节点
Posted
技术标签:
【中文标题】在 ExtJs 4.1 TreePanel 中隐藏一个节点【英文标题】:Hiding a node in ExtJs 4.1 TreePanel 【发布时间】:2013-10-04 12:02:24 【问题描述】:如何根据某些条件隐藏 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 不再支持此方法。
【问题讨论】:
如果您从存储中删除记录,它们将不会显示在树中。如果您需要根据命令动态显示和隐藏,您可以过滤商店。 【参考方案1】:Sencha 的论坛上有一个topic about this。这似乎不受支持,但有解决方法。
【讨论】:
【参考方案2】:以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
]
]
【讨论】:
以上是关于在 ExtJs 4.1 TreePanel 中隐藏一个节点的主要内容,如果未能解决你的问题,请参考以下文章
无法在 extjs 4 的 Treepanel 中显示 json 数据
在 ExtJs 4.1 树面板中通过 id 或 name 查找节点