Javascript Extjs 5-整个页面上的LoadMask不工作
在ExtJS4.2中,我对整个页面使用了加载掩码 在公共实用程序类中:Javascript Extjs 5-整个页面上的LoadMask不工作,javascript,extjs,extjs5,Javascript,Extjs,Extjs5,在ExtJS4.2中,我对整个页面使用了加载掩码 在公共实用程序类中: loadMask: null, showLoading : function() { if (!this.loadMask) { this.loadMask = new Ext.LoadMask(Ext.getBody(), { msg: "Loading..." }); } this.loadMask.show(); }, clearLoading:function() {
loadMask: null,
showLoading : function() {
if (!this.loadMask) {
this.loadMask = new Ext.LoadMask(Ext.getBody(), { msg: "Loading..." });
}
this.loadMask.show();
},
clearLoading:function() {
this.loadMask.hide();
},
我在加载/保存期间(等待服务器端响应)在所有页面中调用此方法,但在Extjs 5.0中,它不起作用,我收到以下错误消息:
Uncaught TypeError: Cannot call method 'mask' of undefined all-classes.js:1
Ext.define.show all-classes.js:1
Ext.define.loadingProcess all-classes.js:1
Ext.define.listeners.beforeload all-classes.js:1
Ext.define.doFire all-classes.js:1
Ext.define.fire all-classes.js:1
Ext.define.doDispatchEvent all-classes.js:1
Ext.define.dispatchEvent all-classes.js:1
Ext.define.doFireEvent all-classes.js:1
a.doFireEvent all-classes.js:1
Ext.define.fireEvent all-classes.js:1
Ext.define.load
明白了!!!它在Extjs 5.0中被更改,Ext.getBody()返回Ext.dom.Element,对于元素,使用mask()和unmask(),因此应该是
//mask
Ext.getBody().mask("Loading...");
//unmask
Ext.getBody().unmask();
只是一个旁注-
null==this.loadMask
并不比好!这个.loadMask
:)谢谢,我会更新它。你也可以只使用.setLoading(true)
和.setLoading(false)
蒙面元素:“body”
-让你分配要蒙面的内容(面板配置)。只是澄清一下,“body”并不意味着要蒙面,设置它会告诉ext屏蔽组件的“主体”,而不是“el”。(例如,如果希望工具栏按钮仍然可以单击)