ZTree学习(二):异步加载树结构
来源:互联网 发布:手机数据流量无法上网 编辑:程序博客网 时间:2024/06/15 00:03
一,使用场景
遇到这种大数据加载,特别的树结构,而且是在弹出层中加载的,就会出现闪一下或者是卡主的情况,所以选择异步加载。
二,异步加载使用关键,还是在setting参数上
var setting = {async:{ autoParam:["parentId"], enable:true, type:"post", url:getUrl, dataFilter:filter, },check : {chkStyle: "radio",enable: false,chkboxType : { "Y" : "s", "N" : "ps" },radioType : "level"},view: {dblClickExpand: false,addDiyDom:addDiyDom},data : {key : {name : "unitName"},simpleData : {enable : true,idKey : "id",pIdKey : "parentId",rootPId : 0}},callback : { beforeAsync : ztreeBeforeAsync, onAsyncSuccess : ztreeOnAsyncSuccess, onClick:ztreeOnAsyncSuccess}};
最关键的部分就是async参数设置上的部分还有callback中onAsyncSuccess的设置上
autoParam:如果请求的url是带参数的,此值就填写参数名称,当然如果是异步加载,这个是一定有,这个是一个数组来的,如果有多个参数,那么形式就是["1","2","3"]
enable:true, 表示是否使用异步加载,当然是true了。
type:"post",请求方式,是post还是get,一般都是post。
url:getUrl,这个url的值一定不可以写"",一定要记住,记住,记住。当然想我这里写一个方法,其实我这里是一个空方法。是可以的。
dataFilter:filter,这个参数非常重要。重要到哪里,我们一会儿单独说。
onAsyncSuccess : ztreeOnAsyncSuccess,用于捕获异步加载正常结束的事件回调函数,这个函数就是主要调用的函数。异步获取需要的数据,然后加载上去就可以。
autoParam:如果请求的url是带参数的,此值就填写参数名称,当然如果是异步加载,这个是一定有,这个是一个数组来的,如果有多个参数,那么形式就是["1","2","3"]
enable:true, 表示是否使用异步加载,当然是true了。
type:"post",请求方式,是post还是get,一般都是post。
url:getUrl,这个url的值一定不可以写"",一定要记住,记住,记住。当然想我这里写一个方法,其实我这里是一个空方法。是可以的。
dataFilter:filter,这个参数非常重要。重要到哪里,我们一会儿单独说。
onAsyncSuccess : ztreeOnAsyncSuccess,用于捕获异步加载正常结束的事件回调函数,这个函数就是主要调用的函数。异步获取需要的数据,然后加载上去就可以。
function ztreeOnAsyncSuccess(event, treeId, treeNode){var url = "unitAction!xzqhTree.action?parentId=";if(treeNode == undefined){url += "1";}else{url += treeNode.id;}$.ajax({type : "post",url : url,data : "",dataType : "json",async : true,success : function(jsonData) {if (jsonData != null) {var data = jsonData.unitList;if(data != null && data.length != 0){if(treeNode == undefined){treeObj.addNodes(null,data,true);// 如果是根节点,那么就在null后面加载数据}else{treeObj.addNodes(treeNode,data,true);//如果是加载子节点,那么就是父节点下面加载}}treeObj.expandNode(treeNode,true, false, false);// 将新获取的子节点展开}},error : function() {alert("请求错误!");}});};
就是一个简单的ajax请求。
还有就是在JS的初始化中把树结构初始化一下 $.fn.zTree.init($("#chooseXzqhTree"), setting);
到这里,一个简单的异步加载就完成了。
还有就是在JS的初始化中把树结构初始化一下 $.fn.zTree.init($("#chooseXzqhTree"), setting);
到这里,一个简单的异步加载就完成了。
三:遇到的问题
每次异步加载之后,老是会出现一个undefined节点,没有缘由的出现,解决办法是设定
dataFilter:filter,这个参数非常重要。重要到哪里,我们一会儿单独说。
是的,没有错,就是设置了dataFilter,虽然filter方法中什么都没有写,但是这个问题确实是解决了。
是的,没有错,就是设置了dataFilter,虽然filter方法中什么都没有写,但是这个问题确实是解决了。
0 0
- ZTree学习(二):异步加载树结构
- jquery+ztree插件异步加载(二)
- Ztree异步加载树节点
- ztree学习之异步加载节点
- 多表联查加载zTree树结构
- ztree v3.5.18树异步加载开发(续)
- struts2+json+zTree实现异步加载树
- 异步&同步加载树节点----zTree(一)
- Jquery树控件ZTree异步加载
- ztree v3.5.18树异步加载开发
- ztree树的异步加载async
- zTree 异步加载文件目录树
- zTree简单使用(异步加载)
- zTree 异步加载
- Ztree 异步加载
- zTree checkbox 异步加载
- zTree 异步加载
- ztree异步加载数据
- oracle游标全解2
- lua遍历table
- Android热修复---AndFix
- React学习总结(1)——开始
- Tomcat日志catalina.out分割
- ZTree学习(二):异步加载树结构
- iOS 为什么选择了OC
- Android动态加载启动页
- Android产品研发(二十)-->代码Review
- UVa 1025 A Spy in the Metro
- 【Android 动画专题】
- DevExpress GridControl复合表头(多行表头)设置
- 调用kettle api传参时不赋值的解决方法
- Java static关键字以及Java静态变量和静态方法