Extjs 加载遮罩

4

我有一个网格,当单击时需要几秒钟才能打开我的弹出窗口。我希望在弹出窗口加载时显示“加载中…”的消息。目前我的代码如下:

    onCellClick : function(view, td, eOpts ) {
    var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
    myMask.show();
    Ext.create('myapp.view.DetailWindow', {
        title : 'my title',
        width : 900,
        approachRec : record
    });
    myMask.hide();

}

目前这个功能已经完美运行,一旦我点击网格中的单元格,我的加载框就会出现,然后在我的“详细窗口”出现后消失。

然而,一旦我关闭我的窗口并再次点击另一个单元格(或同一个单元格),没有加载框出现,但是我的“详细”窗口确实出现了。我做错了什么?

为了让每次点击单元格时都弹出我的加载框,我需要做什么?

我正在使用Extjs 4.2

谢谢


ExtJS 的版本是哪个? - Dexygen
@GeorgeJempty Extjs 4.2 - now_world
1个回答

3
您发布的代码并没有显示窗口,只是创建了它。下面是我开发的一些代码,它可以“工作”(我使用了setTimeout在3秒延迟后显示窗口,然后隐藏加载蒙版),但我认为要解决您的问题,您需要使用调试器,并查看控制台中是否显示任何错误。
grid.on('cellclick', function() {
    var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
    myMask.show();
    var window = Ext.create('Ext.window.Window', {
        title: 'Hello',
        height: 200,
        width: 400
    });
    setTimeout(function() {
        window.show();
        myMask.hide();
    }, 3000);
});

我的项目设置方式是,每次单元格被点击时窗口都能正常工作(就像应该的那样)。但我的问题是,我无法让加载窗口在每次单元格被点击时显示出来。谢谢。 - now_world
2
使用开发者工具进行调试,当您单击单元格时,如果加载遮罩未显示,则可能会显示某种错误。 - Dexygen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接