当前位置:首页 > JavaScript

js 实现ztree

2026-03-15 10:51:02JavaScript

实现 ZTree 的基本步骤

安装或引入 ZTree 库
ZTree 是一个基于 jQuery 的树形插件,需要先引入 jQuery 和 ZTree 的相关文件。可以通过 CDN 或本地文件引入:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/zTree.v3/3.5.48/css/zTreeStyle/zTreeStyle.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/zTree.v3/3.5.48/js/jquery.ztree.all.min.js"></script>

准备 HTML 结构

创建一个容器用于渲染树形结构:

<div>
  <ul id="treeDemo" class="ztree"></ul>
</div>

配置 ZTree 参数

定义 ZTree 的配置对象,设置树的基本行为和样式:

var setting = {
  view: {
    showLine: true,
    selectedMulti: false
  },
  data: {
    simpleData: {
      enable: true,
      idKey: "id",
      pIdKey: "pId",
      rootPId: 0
    }
  }
};

准备树节点数据

定义树节点的数据,通常是一个包含 idpId(父节点 ID)和 name 的数组:

js 实现ztree

var zNodes = [
  { id: 1, pId: 0, name: "父节点 1" },
  { id: 11, pId: 1, name: "子节点 1-1" },
  { id: 12, pId: 1, name: "子节点 1-2" },
  { id: 2, pId: 0, name: "父节点 2" },
  { id: 21, pId: 2, name: "子节点 2-1" }
];

初始化 ZTree

调用 $.fn.zTree.init 方法初始化树形结构:

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

自定义功能扩展

可以通过配置对象添加回调函数实现自定义功能,例如节点点击事件:

js 实现ztree

var setting = {
  callback: {
    onClick: function(event, treeId, treeNode) {
      console.log("点击节点:", treeNode.name);
    }
  }
};

动态加载节点

通过异步请求动态加载子节点数据:

var setting = {
  async: {
    enable: true,
    url: "/api/getNodes",
    autoParam: ["id"]
  }
};

常用 API 示例

获取选中的节点:

var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = treeObj.getSelectedNodes();

展开或折叠节点:

treeObj.expandNode(nodes[0], true, false); // 展开节点
treeObj.expandNode(nodes[0], false, false); // 折叠节点

注意事项

  • 确保 jQuery 版本与 ZTree 兼容,推荐使用 jQuery 1.4.3+ 或 2.0+。
  • 节点数据中的 idpId 必须唯一且正确对应,否则会导致渲染异常。
  • 如果需要复杂功能(如拖拽、复选框等),需在配置中启用相应选项。

标签: jsztree
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…

实现继承js

实现继承js

实现继承的方式 在JavaScript中,实现继承可以通过多种方式完成,每种方式都有其优缺点。以下是几种常见的实现继承的方法: 原型链继承 原型链继承是最基本的继承方式,通过将子类的原型指向父类的实…