easyui 扩展 之 Tree的simpleData加载/修改tree数据格式,不一定非是text

本文介绍了如何利用easyui 1.2.6版本中的loadFilter功能扩展Tree组件,以支持ztree风格的简单数据结构(id, pid形式)。通过示例代码展示了如何将扁平数据转换为树形结构,使得数据加载和处理更加方便。" 81236078,7725765,PyCharm配置Python3.7.0+PyQt5开发环境指南,"['PyCharm', 'Python', 'GUI开发', 'PyQt5', 'QtDesigner']
摘要由CSDN通过智能技术生成

这是基于1.2.6的tree新增的loadFilter功能的一个扩展。大家都喜欢ztree的简单数据结构(扁平pid结构数据集,也就是id,pid形式),于是1.2.6有了loadFilter之后,我们可以很简单的就实现了。(这里要赞一下easyui的作者,对于架构的开闭原则做的很到位。)(请注意本扩展基于1.2.6的easyui

 

 

 

$.fn.tree.defaults.loadFilter = function (data, parent) {
 var opt = $(this).data().tree.options;
 var idFiled,
 textFiled,
 parentField;
 if (opt.parentField) {
  idFiled = opt.idFiled || 'id';
  textFiled = opt.textFiled || 'text';
  parentField = opt.parentField;
  
  var i,
  l,
  treeData = [],
  tmpMap = [];
  
  for (i = 0, l = data.length; i < l; i++) {
   tmpMap[data[i][idFiled]] = data[i];
  }
  
  for (i = 0, l = data.length; i < l; i++) {
   if (tmpMap[data[i][parentField]] && data[i][idFiled] != data[i][parentField]) {
    if (!tmpMap[data[i][parentField]]['children'])
     tmpMap[data[i][parentField]]['children'] = [];
    data[i]['text'] = data[i][textFiled];
    tmpMap[data[i][parentField]]['children'].push(data[i]);
   } else {
    data[i]['text'] = data[i][textFiled];
    treeData.push(data[i]);
   }
  }
  return treeData;
 }
 return data;
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值