当前位置:首页 > 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实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…

js实现排序

js实现排序

数组排序方法 JavaScript提供了内置的sort()方法用于数组排序。默认情况下,sort()将元素转换为字符串并按照Unicode码点排序。对于数字排序,需传入比较函数。 const num…

js实现导航菜单

js实现导航菜单

使用HTML和CSS创建基础结构 导航菜单的基础结构通常由HTML的无序列表(<ul>)和列表项(<li>)组成,每个列表项包含一个链接(<a>)。CSS用于样式化…