我在正確設置面板上的加載掩碼時遇到問題。點擊一個按鈕後,新的樹存儲正在生成(localy),這需要相當長的一段時間。加載掩碼僅在(我認爲)整個函數評估之後顯示一毫秒。在我的代碼console.log(0)
和console.log(1)
顯示整個功能處理後,按鈕單獨凍結幾秒鐘然後解凍,然後控制檯顯示0 and 1
。處理這種情況的正確方法是什麼?下面是代碼:Extjs長時間加載掩碼
按鈕定義:
xtype:'button',
text:'Rozdziel działki',
iconCls:'icon-map_link',
scope:this,
handler:function(){
console.log(0);
this.splitParcels();
}
拆分地塊功能: -
splitParcels:function(){ var mask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."}); mask.show(); console.log(1); this.mgstore.getRootNode().removeAll(); console.log(this.response); var root_node = this.mgstore.getRootNode(); Ext.each(this.response.plans, function(plan){ var plan_obj = { id:plan.plan.id, text:plan.plan.abbreviation, gsip_plan:plan, gsip_type:'plan', iconCls:'icon-map', expanded:true, leaf:false }; Ext.each(plan.parcels, function(parcel){ var parcel_obj = { id:parcel.parcel.id, text:parcel.parcel.name, leaf:true, gsip_plan:plan, gsip_parcels:parcel, gsip_type:'parcel', iconCls:'icon-vector' }; var planNode = root_node.appendChild(plan_obj); planNode.appendChild(parcel_obj); }); }); if (mask != undefined) mask.hide(); }
我沒有具體說明我想完成什麼。簡單地說,我想用loadMask封裝splitParcels函數。掩碼在開始時顯示並隱藏在函數的結尾處。 – patryks
你有沒有在文檔體上渲染任何面板? – Wilk
不是。此功能將附加到樹面板的商店更改。 – patryks