【问题标题】:ExtJs loading mask displacementExtJs 加载蒙版位移
【发布时间】:2015-12-10 09:12:07
【问题描述】:

我在使用加载掩码时遇到了 Extjs 4.1.1 的一些问题。

我创建了一个自定义窗口并按下按钮设置加载掩码

var options=Ext.create('Ext.window.window',{
    title:'this window',
    height:200,
    width:100,
 items: {  // Let's put an empty grid in just to illustrate fit layout
        xtype: 'grid',
        border: false,
        columns: [{header: 'World'}],              
        store: Ext.create('Ext.data.ArrayStore', {}) // A dummy empty data store
    }
}).show();

options.setLoading('Loading...');

启用加载掩码后,如果我打开另一个窗口,掩码会从它不希望的位置移位。 我应该如何防止其他窗口影响加载掩码。

或者我应该在整个框架而不是窗口上放置遮罩?

【问题讨论】:

    标签: javascript extjs loading mask


    【解决方案1】:

    如果需要创建重复的窗口,您可以检查之前创建的窗口。如果退出,则不需要setLoading。看这个:https://fiddle.sencha.com/#fiddle/tv5

        var me = this;
        var x = 50;
        var button = Ext.create('Ext.button.Button', {
            text: 'click',
            renderTo: Ext.getBody(),
            closable: true,
            handler: function() {
    
                me.options = Ext.create('Ext.window.Window',{
                    title:'this window',
                    height:200,
                    width:400,
                    items: {  // Let's put an empty grid in just to illustrate fit layout
                        xtype: 'panel',
                        html: 'here' // A dummy empty data store
                    }
                });
    
                me.options.show();
    
                me.options.setXY([x+30, x+30]);
                me.options.mask('Loading1...');
    
            }
        });
    
        var button2 = Ext.create('Ext.button.Button', {
            text: 'click',
            renderTo: Ext.getBody(),
            closable: true,
            handler: function() {
                me.options2 = Ext.create('Ext.window.Window',{
                    title:'this window',
                    height:200,
                    width:400,
                    items: {  // Let's put an empty grid in just to illustrate fit layout
                        xtype: 'panel',
                        html: 'here' // A dummy empty data store
                    }
                });
    
                me.options2.show();
    
                me.options2.setXY([x+200, x+300]);
    
                me.options2.mask('Loading2...');
    
            }
        });
    

    【讨论】:

    • 我没有再打开同一个窗口。这是一个不同的窗口。而且链接失效了。
    • 好吧。我以为您为其他人使用了相同的窗口模板。我按照您的说法修复了我的代码,但我无法面对您的问题。请再次检查。并且有可能提供一个工作小提琴吗?这会更有帮助。
    • 结构非常复杂,我无法在小提琴上完全复制。但您的答案与问题的解决方案相去甚远,这可能是因为缺乏有关问题本身的信息。无论如何,我感谢你的努力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多