如題所述,在treegrid中,一次添加多個節點時,時間很長,但easyUI並沒有顯示等待信息,讓人覺得是陷入了死循環,或者死機了,用戶體驗不好。javascript
原本,treegrid(或者datagrid)有所謂的loadMsg,但只在加載數據時顯示。添加節點,則不見有這種機制。css
只能本身動手,豐衣足食了。html
像不少次尋找答案同樣,在網上搜索了許久,基本上都是一些互相抄襲,似是而非,不知所謂的垃圾。做者煞有介事地這樣說,但有沒有實際應用過,到底行不行,很讓人懷疑。java
或者只貼一點代碼,缺少足夠的解釋,讓人變成丈二金剛。app
通過一番努力,終於達到我本身想要的效果:異步
從一棵樹中選中了許多節點,一次性複製到另外一棵樹。期間耗時比較長,會先顯示等待信息;添加完成之後,等待消息消失。async
沒有代碼我說個J8:ide
應用場景:函數
easyUI的一個對話框:ui
<div id="dlg_Add_template" class="easyui-dialog" style=" width:600px; ">……</div> <script type="text/javascript"> $('#dlg_Add_template').dialog('open'); </script>
以上代碼從參考文章摘取,但通過改寫。原文是對easyUI的所謂擴展,仍然只支持數據加載才顯示。
而後調用:
這時應引入異步機制,最好有回調函數!
但treegrid並沒有提供相應的事件。受阮一峯的文章啓發,能夠模擬一下,用setTimeout:
http://www.cnblogs.com/dreamcat/archive/2010/10/30/easyui_datagrid_mask.html
http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html