我的panel
是collapsible
,但默认情况下为collapsed
,直到用户在视图中选择了一个元素。
在我的控制器中,当用户点击某个元素时,我会听取该事件,然后执行以下操作:
.....
pnlDetail.expand(true);
pnlDetail.setLoading('Loading details...');
.....
但是面板从不显示加载掩码。似乎它必须等到面板完全展开。
然后我尝试以下内容:
pnlDetail.expand(true);
Ext.Function.defer(function() {
pnlDetail.setLoading('Loading details...');
}, 500);
这次面板显示加载掩码。
有什么理由发生这种情况?这是一个问题还是我可以解决的问题?
答案 0 :(得分:0)
如果我在https://fiddle.sencha.com/#home中尝试以下代码,则可以正常运行......
Ext.application({
name : 'Fiddle',
launch : function() {
var panel = Ext.create('Ext.panel.Panel', {
title: 'Hello',
width: 200,
html: '<p>World!</p>',
renderTo: Ext.getBody(),
collapsed: true,
collapsible: true
});
panel.expand(true);
panel.setLoading('Loading details...');
}
});
所以我不明白为什么这不适用于您的应用程序。你用的是什么版本? 虽然你可以在expand事件上使用单个事件处理程序来尝试它,如下所示:
pnlDetail.on('expand', function(p){ p.setLoading('Loading details...'); }, this, { single: true });