我定义了一个treepanel。我尝试添加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
}
}
})
});
如何使工作感谢。
答案 0 :(得分:3)
EIther使用未记录的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');
}
});
}
});
答案 1 :(得分:0)
尝试使用Ext.ComponentQuery.query('example').body.mask();
使用正文代替getEl()