ztree

官网:http://www.treejs.cn/v3/main.php

1.引入所需文件

import 'static/plugins/ztree/metroStyle/metroStyle.css'   // 将 zTree 的 css 目录 复制到项目目录内,并引入
import 'static/plugins/ztree/js/jquery-1.4.4.min' // jquery-1.4.4.min.js 复制到项目目录内,并引入
import 'static/plugins/ztree/js/jquery.ztree.core.min' // jquery.ztree.core 是 zTree 的核心库
import 'static/plugins/ztree/js/jquery.ztree.excheck.min' // jquery.ztree.excheck 是 zTree 关于 复选框/单选框 的扩展库
import 'static/plugins/ztree/js/jquery.ztree.exhide.min' // jquery.ztree.exhide 是 zTree 关于 节点隐藏 的扩展库
import 'static/plugins/ztree/js/jquery.ztree.exedit .min'// jquery.ztree.exedit 是 zTree 关于 编辑操作的扩展库
jquery.ztree.all // jquery.ztree.all 是  core + excheck + exedit 的组合(不包含 exhide)

使用 zTree 提供的不同 属性/方法 时,请务必检查该 属性/方法 是否存在于你加载的 zTree 库内?

2.创建zTree 容器

<ul id="treeId" class="ztree"></ul>

3.初始化 zTree

var zTreeObj;
var setting = {}; // zTree 的参数配置
var zNodes = [  // zTree 的数据属性
   {name:"test1", open:true, children:[    // open:展开,默认关闭
   {name:"test1_1"}, {name:"test1_2"}]},
   {name:"test2", open:true, children:[
   {name:"test2_1"}, {name:"test2_2"}]}
]

$(document).ready(function(){
  zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
});

4 数据格式(JSON)

  • zTree 支持的是 Object 对象,不是 String
  • 可以随意添加任意的自定义属性,用于传递各种数据。但一定注意,不要与 API 中 treeNode 的属性产生冲突
  • 对于 setting.data.key 替换的属性,一旦设定, 整棵树所有的节点都要满足此规则

4.1标准数据结构

但是后端生成这种数据时,会比较繁琐,所以 zTree 为了减少用户的麻烦, 还支持类似数据表的单层结构。

4.2简单数据结构

  • setting.data.simpleData.enable = true
  • id、pId 可以替换:setting.data.simpleData.idKey
  • 根节点 的 pId 值默认为 null,如果不想设置为 null,可以设置:setting.data.simpleData.rootPId
    image.png
  • 一旦开启 简单数据模式,拖拽节点后,zTree 会自动修正节点的 pId 值
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容