在extjs上,显示了网格加载掩码,而没有任何外部调用setloading()。 是否会自动调用setloading()?
没有对setloading()进行任何调用,想知道它如何以及何时自动处理?
问题在于有时它会来了,而有时加载数据时却没有加载掩码。
因此,如果我从外部进行处理,则将出现两个加载蒙版。 如何禁用网格上的自动加载蒙版?
答案 0 :(得分:2)
我认为您在哪里检查了错误的组件。您应该在视图上检查loadMask。
gridpanel(别名:grid)是包含gridview(别名:tableview)的面板 树也一样 树面板是包含树视图的面板
您可以通过将视图上的loadMask变量设置为false来禁用掩盖(对于gridpanel和treepanel均请参见docs
您可以通过在viewConfig中进行设置来对其进行配置
示例:
var store = Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
fields:[ 'name', 'email', 'phone'],
data: [
{ name: 'Lisa', email: 'lisa@simpsons.com', phone: '555-111-1224' },
{ name: 'Bart', email: 'bart@simpsons.com', phone: '555-222-1234' },
{ name: 'Homer', email: 'homer@simpsons.com', phone: '555-222-1244' },
{ name: 'Marge', email: 'marge@simpsons.com', phone: '555-222-1254' }
]
});
grid = Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: store,
viewConfig: { //this config is passed to the view
loadMask: false
},
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email', flex: 1 },
{ text: 'Phone', dataIndex: 'phone' }
],
height: 200,
width: 400,
renderTo: Ext.getBody()
});
//You can access the view in code by:
view = grid.getView()
如果不设置该变量,它将使用默认值创建一个Ext.LoadMask。因此,如果您想找出未显示原始loadMask的问题,则应调试onBeforeLoad。那应该调用下面的maybeShow方法。然后依次调用show方法(低一些)