加载掩码没有绑定到组件,在父X,Y的移动中断开

时间:2014-01-29 17:34:34

标签: javascript extjs

说明

我正在使用Sencha 4.1.1并使用grid。我可以通过创建任何面板并在面板上调用setLoading(true)来复制此问题。

问题:

Sencha将面具与组件(页脚)分开加载。当掩码被调用时,Sencha找到组件的X和Y并将其放置在掩码上。这就是掩码似乎在网格上的原因。问题是当X和Y在组件上发生变化时,掩模不会更新,从而使网格的一部分暴露出来并且看起来非常难看。

JsFiddle显示:JSFIDDLE - 如果单击“test”div,它将被删除,错误将被复制。

问题:

我想知道是否有人遇到过这方面的解决方案?我可以将掩模始终绑定到组件的X和Y吗?这是面具更广泛的问题吗?

1 个答案:

答案 0 :(得分:2)

这仍然是4.2中的一个问题。我在4.2中使用以下覆盖来解决问题(我没有在4.1中测试它,但希望它能够工作):

Ext.override(Ext.LoadMask, {
    sizeMask: function() {
        var me = this,
            target;

        if(me.rendered && (me.isVisible() || me.getMaskEl().isVisible())) {
            me.center();

            target = me.getMaskTarget();
            me.getMaskEl().show().setSize(target.getSize()).alignTo(target, 'tl-tl');
        }
    }
});