在使用zTree过程中,突然发现他的idkey跟pid必须指定一个单纯的主外键,而不能使用对象解析来绘制树(如:parentModule.id),于是查看了源码,经过改装之后支持了对象关联的遍历,特此做下记录,希望对遇到同样问题的朋友有所帮助。
注意:此种做法针对于ztree3.5版本的。
首先打开ztree的核心源码。jquery.ztree.core-3.5.js找到594行起,修改成如下,然后setting中的data的pidkey写parentModule.id即可

for (i=0, l=sNodes.length; i<l; i++) {                  if(parentKey.indexOf('.')!=-1){                        var parent = sNodes[i];                      parent = parseData(parent,parentKey);                        if (tmpMap[parent] && sNodes[i][key] != parent) {                            if (!tmpMap[parent][childKey])                                tmpMap[parent][childKey] = [];                           tmpMap[parent][childKey].push(sNodes[i]);                     } else {                          r.push(sNodes[i]);                        }                 }else{                        if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {                            if (!tmpMap[sNodes[i][parentKey]][childKey])                              tmpMap[sNodes[i][parentKey]][childKey] = [];                         tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);                       } else {                          r.push(sNodes[i]);                        }                 }             }

zTree中设置idKey跟pId对象关联相关推荐

  1. Django框架(22.Django中设置session以及session对象及方法)

    Session 对于敏感.重要的信息,建议要储在服务器端,不能存储在浏览器中,如用户名.余额.等级.验证码等信息. 在服务器端进行状态保持的方案就是Session. 数据迁移后会在数据库中创建出存储S ...

  2. excel中设置下拉框sheet关联

    excel中添加下拉框内容 1.直接输入来源,流程如下图 注:每个选项之间需要用英文逗号隔开. 2.通过引用方式,首先先准备好内容,再供引用. 流程如下 1.创建内容,选定创建的所有内容并设置其名称, ...

  3. webpack中设置jquery为全局对象

    通过npm安装jquery npm install jquery -D 然后配置webpack-config.js plugins: [new webpack.ProvidePlugin({$: &q ...

  4. 【错误记录】Groovy 闭包使用报错 ( 闭包中不能直接使用外部对象的方法 | 需要先设置 delegate 代理 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Groovy 中的 Closure 闭包中 , 直接调用外部对象的方法 , 会报错 ; class Test {def fun() {print ...

  5. JS 中通过对象关联实现『继承』

    JS 中继承其实是种委托,而不是传统面向对象中的复制父类到子类,只是通过原型链将要做的事委托给父类. 下面介绍通过对象关联来实现『继承』的方法: Foo = {// 需要提供一个 init 方法来初始 ...

  6. azure db 设置时区_在Azure Cosmos DB中应用字段运算符和对象

    azure db 设置时区 Since we will sometimes require removing documents in Azure Cosmos DB, we'll want to b ...

  7. 解决 vue中props对象中设置多个默认值问题

    1.遇到问题: props中设置了默认值,但是获取时(获取父页面没有传的属性) 打印出来是undefined 子组件 props: { paramsObj: {type:Object,default: ...

  8. ADO.NET中的五个主要对象介绍及使用

    对象说明: 1.Connection 对象    Connection 对象主要是开启程序和数据库之间的连结.没有利用连结对象将数据库打开,是无法从数据库中取得数据的.这个物件在ADO.NET 的最底 ...

  9. Winform中实现序列化指定类型的对象到指定的Xml文件和从指定的Xml文件中反序列化指定类型的对象

    场景 在Winform程序中需要将某些页面的设置存储到配置文件中,下次再次打开时通过配置文件读取,点击确定时能将将设置保存到配置文件中. 之前介绍过 Winform中自定义xml配置文件后对节点进行读 ...

  10. Android之IPC通信中的UID和PID识别

    PCThreadState对象维护了2个变量 pid_t               mCallingPid; uid_t               mCallingUid; 从变量名称来看,这2个 ...

最新文章

  1. 一文看懂国产最大深度学习平台上新,国内率先加持量子机器学习
  2. 「BATJ面试系列」并发编程
  3. 7999元大疆最新无人机,支持第一人称视角极速拍摄,网友:不是航拍,是直接起飞...
  4. python读取网站_科学网—python 获取网址 - 林清莹的博文
  5. PyTorch中MaxPool的ceil_mode属性
  6. 干货:TensorFlow1.2~2.1各个GPU版本CUDA和cuDNN对应版本整理
  7. 创建型、结构型、行为型模式(1)
  8. MogDB数据库高可用及负载均衡JDBC参数测试
  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(59)-BLL层重构
  10. .net Core使用RabbitMQ
  11. PERMUTATION
  12. 再续2014年网页设计趋势
  13. html弧形列表效果,好看漂亮的html5网页特效学习笔记(5)_弧形菜单
  14. 003_ElasticSearch详解与优化设计
  15. linux 安装Java
  16. protel相关资料
  17. ftp服务器匿名账号,登陆ftp服务器的匿名账号
  18. MUI在iPhone6P上闪退
  19. 数据挖掘简介及学习路径介绍
  20. 简易应用服务器配置要求计算公式

热门文章

  1. 怎么安装paraview_ParaViewWeb基于本地服务的环境部署
  2. Verilog——hdb3编译码的层次化设计与实现
  3. PWM波、方波的输出与捕获
  4. node.js windows解压版安装与配置
  5. 规划计算机网络的成本估算,传统的项目管理软件包括进度计划、成本控制、资源调度和( )等功能模块。...
  6. ssm项目搭建(tomcat配置)详解
  7. PART 1.3 风控利率那些事儿(名义利率 实际利率 还款方式 以及 计算逻辑汇总)
  8. 实验4:Linux下C语言编程
  9. 《上海悠悠接口自动化平台》体验地址与使用教程
  10. 智伴机器人wifi键在哪里_智伴机器人介绍和按键功能