const store = Ext.create('Ext.data.Store', {
data: [{
firstname: "Michael",
lastname: "Scott"
}, {
firstname: "Dwight",
lastname: "Schrute"
}, {
firstname: "Jim",
lastname: "Halpert"
}, {
firstname: "Kevin",
lastname: "Malone"
}, {
firstname: "Angela",
lastname: "Martin"
}]
});
const grid = Ext.create('Ext.grid.Panel', {
title: 'Action Column Demo',
store: store,
columns: [{
text: 'First Name',
dataIndex: 'firstname',
width: 150,
locked: true, // locked column will trigger the LoadMask bug.
}, {
text: 'Last Name',
dataIndex: 'lastname',
width: 200,
}, ],
width: 300,
renderTo: Ext.getBody()
});
new Ext.LoadMask({
target: grid,
}).show();
如果网格有locked
列,LoadMask不能覆盖整个网格,有人能帮我解决这个问题吗?
如果网格没有锁定列,则一切正常,但一旦将任何列设置为locked
,就会发生此错误。
以下是演示:https://fiddle.sencha.com/#view/editor&fiddle/3kr3
谢谢
2条答案
按热度按时间busg9geu1#
这是框架故意做的(不知道为什么)。检查Ext.grid.locking.Lockable中的
afterInjectLockable
方法。它是这样的:您可以看到
maskElement
设置为“scrollContainer”。您可以创建覆盖,将其设置回“el”。类似这样:
小提琴:https://fiddle.sencha.com/#view/editor&fiddle/3krr
kqqjbcuj2#
试试这个:
});
var myMask=新Ext.LoadMask({msg:'请稍候…',target:myPanel});
希望这对你有帮助。