ExtJs 5:在GridView中加载Mask

时间:2014-10-28 15:01:03

标签: javascript extjs anonymous-function

在我的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();
            }
        });
    }
}

我已经在不同的组件上尝试了不同的函数参数。但没有什么对我有用。 任何人都可以告诉我解决问题的解决方法吗?

1 个答案:

答案 0 :(得分:1)

完成后尝试拨打grid.mask('Loading...'),当然还有grid.unmask()