loadMask不会被商店负载触发

时间:2014-05-15 11:51:01

标签: extjs extjs4 store loadmask

我试过这个

    var myMask = new Ext.LoadMask({msg:"GOINGGGGGG",target:Ext.getBody(),store:Ext.getStore('Bla.core.ext.store.Client')});

    myMask.bindStore(Ext.getStore('Bla.core.ext.store.Client'));

在配置中添加商店,并执行bindstore。

最终目标是让多个商店报告到1个加载掩码,但我甚至无法获得1个工作?

1 个答案:

答案 0 :(得分:1)

LoadMask应仅用于组件,而不是元素 - Ext.getBody()返回元素。要屏蔽元素,您必须使用Ext.dom.Element.mask

其他选项是创建一个占用所有浏览器空间并在其上使用LoadMask的Viewport。但是,如果您希望多个商店使用相同的掩码,则需要自己绑定商店,因为bindStore首先取消绑定旧商店,然后绑定新商店。

BTW,绑定很简单 - 在商店上安装监听器,在商店加载之前显示掩码,并在加载数据或请求失败后隐藏它。