ExtJS掩盖没有工具栏的TreePanel
问题描述:
我试图掩盖没有工具栏的树面板,以便用户可以在面板被屏蔽时继续打字。这似乎比我想象的更困难,所以一些建议会很棒!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
}}
}
}]
});
答
我想你可以尝试掩盖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();
}
}
}
}]
});
不要更新我们,如果工程:)
由于梅西是工作一种享受!我正在尝试.getEl('body'),它似乎掩盖了整个事情。 – neolaser 2011-04-18 03:57:09
没问题:)。 'this.body'对我来说很有用,可以掩盖大部分与面板相关的组件,比如'Window',你可能只想遮住你的身体,而不是浮动窗口上的十字按钮/按钮行。 – 2011-04-18 05:03:20