jquery easyui tree实现延迟
来源:互联网 发布:C#数组排序 编辑:程序博客网 时间:2024/05/29 07:37
这例子是官方的demo。可帮助我们理解tree延迟加载的原理,其中涉及到树的基本遍历算法。
function myLoadFilter(data, parent){var state = $.data(this, 'tree'); function setData(){ var serno = 1; var todo = []; for(var i=0; i<data.length; i++){ todo.push(data[i]); } //深度优先遍历树节点 while(todo.length){ var node = todo.shift(); if (node.id == undefined){ node.id = '_node_' + (serno++); } if (node.children){ node.state = 'closed'; //实现延迟加载的关键 //将children先缓存再置空 //第一次渲染时就渲染不到children节点了 node.children1 = node.children; node.children = undefined; todo = todo.concat(node.children1); } } state.tdata = data; } function find(id){ var data = state.tdata; var cc = [data]; while(cc.length){ var c = cc.shift(); for(var i=0; i < c.length; i++) { var node = c[i]; if (node.id == id){ return node; } else if (node.children1){ cc.push(node.children1); } } } return null; } setData(); var t = $(this); var opts = t.tree('options'); //在展开节点前将children重置回清空前的属性 opts.onBeforeExpand = function(node){ var n = find(node.id); //已经展开,返回 if (n.children && n.children.length){return} if (n.children1){ var filter = opts.loadFilter; opts.loadFilter = function(data){return data;}; t.tree('append',{ parent:node.target, data:n.children1 }); opts.loadFilter = filter; n.children = n.children1; } };return data;}
0 0
- jquery easyui tree实现延迟
- jquery easyui Tree API
- jquery easyui tree实战
- JQuery EasyUI Tree
- jQuery EasyUI-Tree使用
- jQuery easyUI tree
- JQuery EasyUI Tree
- Jquery easyui tree
- jquery easyui tree使用
- jquery easyui tree
- JQuery EasyUI Tree和tab右键菜单实现
- easyUI tree 的实现
- EasyUI--tree的实现
- easyui Tree实现思路
- jQuery EasyUI详解-EasyUI树形控件tree
- Jquery easyUI 树形插件tree
- Jquery easyui tree的使用
- jQuery EasyUI tree的 使用
- 华为G520联通版解锁,ROOT,RECOVERY、卡刷及删除定制软件教程
- java.lang.NoClassDefFoundError:org/apache/commons/lang/exception/NestableRuntimeException 异常的处理
- LCD触摸屏中LCD屏幕坐标和触摸屏坐标的关系
- android用户界面之ScrollView教程实例汇总
- ZooKeeper客户端命令
- jquery easyui tree实现延迟
- Sending 'ViewController *const __strong' to parameter of incompatible type 'id<***Delegate>'
- linux中Find命令的使用
- c语言练习题
- linux分区简介
- [技术分享] cocos2d-x v3.0.0发布说明
- Linux 系统性能评估
- A - Lake Counting解题报告
- 关于python中深拷贝与浅拷贝问题