如题所述,在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