ExtJs 5:正在GridView中加载掩码

ExtJs 5: Loading Mask in GridView

本文关键字:加载 掩码 GridView 正在 ExtJs      更新时间:2023-09-26

在我的ExtJs 5应用程序中是一个浮动窗口,里面有一个Grid。Gird有一个隐藏的列,我在其中显示一个用户图像。为了避免无用的流量,当用户将列设置为可见时,图像仅由额外的存储获取。加载图像的代码在"beforender"事件中,当加载完成时,网格将被刷新。

因为加载可能需要几秒钟的时间,所以我想使用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();
            }
        });
    }
}

我已经在不同的组件上尝试了不同的函数参数。但对我来说什么都不管用。有人能给我看一个解决问题的方法吗?

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