ExtJS 4 暂时禁用网格的加载掩码外观
ExtJS 4 Temporarily disable loading mask appearance for a grid
我有一个网格,我想在执行某些脚本时禁用其上加载蒙版的外观(以防止双重加载蒙版,因为我将加载蒙版添加到其父组件)。
我试过这样的东西
var myGridView = myGrid.getView();
myGridView.loadMask = false;
// I want so at this data loding did not appear loading mask
myGrid.getStore().load();
myGridView.loadMask = true;
但是没用。
有什么建议吗?
您可以对 LoadMask 实例使用 setDisabled()
方法:
var myGridView = myGrid.getView();
myGridView.loadMask.setDisabled(true);
myGrid.getStore().load(function () {
myGridView.loadMask.setDisabled(false);
});
您也可以使用 enable()
、disable()
方法。
仔细阅读网格、加载掩码和存储的源代码后,我可以建议这个小覆盖
Ext.override(Ext.grid.Panel, {
setLoading: function (load) {
var me = this,
view = me.getView(),
store = me.getStore();
me.callParent(arguments);
if (Ext.isBoolean(load) && view && view.loadMask && view.loadMask.isLoadMask && store) {
if (load) {
view.loadMask.bindStore && view.loadMask.bindStore(store);
} else {
view.loadMask.unbindStoreListeners(store);
}
}
}
});
这听起来很疯狂,但 Spinner 知道 Grid 的商店。甚至有(受保护的)方法来处理 http://docs.sencha.com/extjs/5.1.1/Ext.LoadMask.html#method-unbindStoreListeners
http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.LoadMask-method-unbindStoreListeners
我有一个网格,我想在执行某些脚本时禁用其上加载蒙版的外观(以防止双重加载蒙版,因为我将加载蒙版添加到其父组件)。
我试过这样的东西
var myGridView = myGrid.getView();
myGridView.loadMask = false;
// I want so at this data loding did not appear loading mask
myGrid.getStore().load();
myGridView.loadMask = true;
但是没用。
有什么建议吗?
您可以对 LoadMask 实例使用 setDisabled()
方法:
var myGridView = myGrid.getView();
myGridView.loadMask.setDisabled(true);
myGrid.getStore().load(function () {
myGridView.loadMask.setDisabled(false);
});
您也可以使用 enable()
、disable()
方法。
仔细阅读网格、加载掩码和存储的源代码后,我可以建议这个小覆盖
Ext.override(Ext.grid.Panel, {
setLoading: function (load) {
var me = this,
view = me.getView(),
store = me.getStore();
me.callParent(arguments);
if (Ext.isBoolean(load) && view && view.loadMask && view.loadMask.isLoadMask && store) {
if (load) {
view.loadMask.bindStore && view.loadMask.bindStore(store);
} else {
view.loadMask.unbindStoreListeners(store);
}
}
}
});
这听起来很疯狂,但 Spinner 知道 Grid 的商店。甚至有(受保护的)方法来处理 http://docs.sencha.com/extjs/5.1.1/Ext.LoadMask.html#method-unbindStoreListeners
http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.LoadMask-method-unbindStoreListeners