1

我定义了一个树形面板。我尝试添加 mask() 等待树加载完成。但不工作。

这是我的代码

Ext.define('Example.example', {
    extend: 'Ext.tree.Panel',
    alias: 'widget.example',
    title: 'example',
    store: Ext.create('Ext.data.TreeStore', {
    ...
    listeners: {
        'load': function (store, records, success) {
            Ext.ComponentQuery.query('example').getEl().unmask(); // not working
        },
        'beforeload': function (store, options) {                                    
            Ext.ComponentQuery.query('example').getEl().mask();// not working
        }
    }
})
});

如何使工作感谢。

4

2 回答 2

3

或者使用未记录的ownerTree属性:

beforeload: function() {
    this.ownerTree.getEl().mask("Loading", 'x-mask-loading');
}

或者在方法中注册您的侦听器以获得范围:

Ext.define('Example.example', {
    // ...
    ,initComponent: function() {
        this.callParent(arguments);

        this.getStore().on({
            scope: this
            ,beforeload: function() {
                this.getEl().mask("Loading", 'x-mask-loading');
            }
        });
    }
});
于 2013-09-18T15:02:55.017 回答
0

试试这个Ext.ComponentQuery.query('example').body.mask();用身体代替getEl()

于 2013-09-18T15:00:35.117 回答