相信大家在使用这个插件的时候都会发现他的缺陷。
加载大数据量的节点后展示树表就会卡死很久。
在这个插件的官方地址上也说明了不支持异步加载,如果要异步加载则使用其他的插件。
我就在他原有的插件基础上做了一下改造。去掉了一些本项目中不会使用到的特性。
原有插件叫:jquery.treegrid.extension.js
修改后的叫:jquery.treegrid.ajax.js
基本改造思路:
1、首次加载根节点与根的子节点。然后通过原有方法加载。标示一下子节点是未加载的
2、在子节点上绑定点击事件,查询后台数据。插入到点击行的后面紧邻的位置(同样也绑定点击事件)。修改点击节点的状态
3、重新渲染节点前的展开图标。这里原本想改treegrid本身的,后来逻辑太复杂了。功力不够深,所以这里使用了笨办法,获取所有的行后,通过状态标示重新手动添加Class到相应的span上
发现不知道怎么传附件。。。
就放到百度云盘吧。链接: https://pan.baidu.com/s/1rMHLtUiti5zzELuh-nrJkA 密码: sn7y