2011-04-18 40 views
0

我試圖掩蓋沒有工具欄的樹面板,以便用戶可以在面板被屏蔽時繼續打字。這似乎比我想象的更困難,所以一些建議會很棒!ExtJS掩蓋沒有工具欄的TreePanel

雖然它的概率沒有必要的,這是我的(精簡)的基礎樹面板:

Ext.tree.TreePanel({ 
    id:'quicksearch_panel', 
    root:{ 
     nodeType:'async', 
     preloadChildren:false  
    }, 
    loader: new Ext.tree.TreeLoader({ 
     dataUrl:'...',   
     baseParams:{}  
    }), 
    tbar:['Quicksearch:', {  
     xtype:'textfield', 
     id:'quicksearch_combo', 
     emptyText: 'search...', 
     listeners:{ 
      keyup:{buffer:400, fn:function(field, e) { 

        // Mask Panel and not Combo HERE 
       }}  
     } 
    }] 
}); 

回答

1

我想你可以嘗試掩蓋TreePanel中的body?元素body是繼承Panel的所有組件中的一個元素,並且工具欄實際上不在此body元素中,因此您可能只是掩蓋了body,那麼您的工具欄將不在遮罩疊加層中。

試試這個:

var tree = Ext.tree.TreePanel({ 
    //...... 
    tbar: ['Quicksearch:', { 
     xtype:'textfield', 
     emptyText: 'search...', 
     enableKeyEvents: true, //you need this for key events 
     listeners:{ 
      keyup:{ 
       buffer:400, 
       fn:function(field, e) { 
        tree.body.mask(); 

        //When the searching done, unmask it 
        //tree.body.unmask(); 
       } 
      } 
     } 
    }] 
}); 

不要更新我們,如果工程:)

+0

由於梅西是工作一種享受!我正在嘗試.getEl('body'),它似乎掩蓋了整個事情。 – neolaser 2011-04-18 03:57:09

+0

沒問題:)。 'this.body'對我來說很有用,可以掩蓋大部分與面板相關的組件,比如'Window',你可能只想遮住你的身體,而不是浮動窗口上的十字按鈕/按鈕行。 – 2011-04-18 05:03:20