我的基于 tabpanel 的应用程序快完成了,但我想通过添加一个全局加载掩码来改进它,它出现在我的 tabpanel 的每次点击上,并在呈现特定选项卡的内容后消失。
我有点不清楚我应该听什么,我是否应该在 activeitemchange 上激活加载掩码,然后使用全局绘制事件取消掩码?我假设最有效的方法是在我的主控制器中,因为那时我只需要做一次而不是拥有多个侦听器(就像我发现的唯一示例中一样)。这似乎有效,我在单击选项卡项时得到一个加载掩码,但我不确定如何取消对绘制事件的屏蔽:
Ext.define('TCApp.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
tabpanel: 'tabpanel'
},
control: {
tabpanel: {
activeitemchange: 'onActiveItemChange'
}
}
},
onActiveItemChange: function (self, newItem) {
Ext.Viewport.setMasked({ xtype: 'loadmask', message: 'Loading...', indicator:true});
console.log('Activeitemchanged');
}
});
这是最好的方法,将Ext.Viewport.setMasked(false);
绘制事件放在主控制器中吗?我不确定该怎么做。
我也一直在读这个,但我认为它没有多大帮助: