在我的ExtJs 5应用程序中是一个浮动窗口,其中包含一个Grid。 Gird有一个隐藏的列,我在其中显示用户图像。为避免无用流量,当用户将列设置为可见时,图像仅由其他商店获取。 加载图像的代码在“beforerender”事件中,当加载完成时,网格将被刷新。
因为加载可能需要几秒钟,我想使用Mask来覆盖组件。 但是我想添加掩码,发生以下错误:
Uncaught TypeError: Cannot set property 'component' of null Renderable.js?_dc=1414507483010:938
我认为问题是由事件或匿名函数引起的。
listeners: {
beforerender: function (column, metaData) {
var store = Ext.getStore('MemberImagesStore');
var grid = this.up('grid');
var view = grid.getView();
view.setMasked(true);
store.loadMemberImages({
scope: grid,
callback: function (records, operation, success) {
if (!success) {
return;
}
var view = this.getView();
view.refresh();
}
});
}
}
我已经在不同的组件上尝试了不同的函数参数。但没有什么对我有用。 任何人都可以告诉我解决问题的解决方法吗?
答案 0 :(得分:1)
完成后尝试拨打grid.mask('Loading...')
,当然还有grid.unmask()
。