我有一个Ext.tree.panel
,因为它包含大量数据,我在没有扩展数据的情况下对其进行初始化。
虽然我想扩展树expandAll
,但它需要一段时间(可能是10秒)。与此同时,浏览器似乎崩溃了(没有任何回应)。
因此,我希望在扩展它时在树上有一个掩码。
但Ext.LoadMask在扩展时不起作用。我想知道在扩展时是否还有其他方法可以在组件顶部设置遮罩?
答案 0 :(得分:0)
试试这个:Ext.getCmp('myTreePanel')。setLoading(true);加载完成后,Ext.getCmp('myTreePanel')。setLoading(false);也许在页面加载时加载整个树结构是有意义的,而在打开每个节点时不使用对服务器的请求?
答案 1 :(得分:0)
这真是一个奇怪的问题。当我完成以下操作时:
var mask = new Ext.LoadMask(this.treePanel, {}).show();
this.treePanel.expandAll(function() {
Ext.destroy(mask);
});
loadingMask
从未显示过。
但如果改变了一点就行了:
var _this = this;
var mask = new Ext.LoadMask(this.treePanel, {}).show();
setTimeout(function(){
_this.treePanel.expandAll(function() {
Ext.destroy(mask);
});
}, 500);
无论如何,问题解决了。