2013-10-04 5 views
1

Как скрыть некоторые из узлов в ExtJs 4.1 TreePanel на основе какого-то условия? Мы не можем скрыть узел в ExtJS 3.4, делая это:Скрытие узла в ExtJs 4.1 TreePanel

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

, если вы удалите записи из магазина они не будут отображаться в дерево. Вы можете отфильтровать хранилище, если вам нужно динамически отображать и скрывать команду. – dbrin

ответ

1

На форуме Sencha есть topic about this. Кажется, что это не поддерживается, но обходные пути.

0

Для ExtJS 6, например, при чтении конфигурации является ложным, скрыть узел:

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 
       } 
      ] 
     } 
    ] 
} 
Смежные вопросы