ExtJS屏蔽没有工具栏的TreePanel

时间:2011-04-18 02:20:06

标签: javascript extjs

我试图在没有工具栏的情况下屏蔽树状面板,以便用户可以在面板被屏蔽时继续输入。这似乎比我想象的要难,所以一些建议会很棒!

虽然没有必要,但这是我的(剥离的)基础树面板:

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 个答案:

答案 0 :(得分: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();
                }
            }
        }
    }]
});

如果有效,请更新我们:)