【问题标题】:Extjs Load MaskExtjs 加载掩码
【发布时间】:2014-12-18 17:21:58
【问题描述】:

我有一个网格,单击该网格需要几秒钟才能拉出我的弹出窗口。我希望在加载弹出窗口时显示“正在加载...”消息。这是我目前所拥有的:

    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();

}

现在这非常有效,一旦我点击网格中的一个单元格,我的加载框就会出现,然后一旦我的“DetailWindow”出现,它就会消失。

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

我需要做什么才能让我每次点击单元格时弹出加载框?

我正在使用 Extjs 4.2

谢谢,

【问题讨论】:

  • 什么版本的 ExtJS?
  • @GeorgeJempty Extjs 4.2

标签: javascript extjs extjs4 extjs4.2 loadmask


【解决方案1】:

您发布的代码不显示()窗口,它只是创建它。下面是我开发的一些“有效”的代码(我使用 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);
});

【讨论】:

  • 好吧,我的项目设置方式在每次单击单元格时都可以正常工作(就像它应该的那样。)我的问题是,我无法每次都显示加载窗口单击单元格。不过谢谢
  • 使用你的开发者工具调试,当你点击单元格时可能会出现某种错误并且加载掩码不显示
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-05
相关资源
最近更新 更多