zTree的简单使用1.0

article/2025/9/14 22:02:05

2018/10/10 北京朝阳.冠城大厦17楼

这里是引用
zTree 简介
zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。
zTree 是开源免费的软件(MIT 许可证)。如果您对 zTree 感兴趣或者愿意资助 zTree 继续发展下去,可以进行捐助。
zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载
采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀
兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器
支持 JSON 数据
支持静态 和 Ajax 异步加载节点数据
支持任意更换皮肤 / 自定义图标(依靠css)
支持极其灵活的 checkbox 或 radio 选择功能
提供多种事件响应回调
灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可以多节点拖拽哟
在一个页面内可同时生成多个 Tree 实例
简单的参数配置实现 灵活多变的功能

本人JAVA萌新一只,在这里仅仅简单介绍下zTree的创建及使用

在这里插入图片描述

	首先,想要使用zTree必须要创造一个zTree容器,那么如何创造这个容器呢?其实很简单,我们只需给<ul></ul>标签定义一个className为“ztree”即可,如:<ul class="ztree"></ul>,这样,一个zTree容器就诞生了。至于为什么要在<ul>标签上创造zTree容器,我想是因为zTree这个插件内部通过你后台传来的数据进行遍历循环形成菜单的过程中,第一级菜单数据都是以一个个<ul>标签显示的,而每一个一级菜单下面的二级,三级甚至更多级菜单都是以一个个<li>标签出现的,我们知道,<ul>标签跟<li>标签一般都是一同出现,因此,才会使用<ul>标签来创造zTree容器。好了,zTree容器创造好了以后,我们该来使用这个容器了。我们需要用zTree对象的setting来配置数据以达到你传输的数据是zTree插件需要的数据格式的要求,写法如下:
	setting = {showLine : true,edit : {drag: {isCopy: false,isMove: false},enable: true,renameTitle: "修改菜单",removeTitle: "删除菜单",showRenameBtn: true,showRemoveBtn: true},view : {addHoverDom : addHoverDom,removeHoverDom : removeHoverDom,selectedMulti : false},data : {simpleData : {enable : true,idKey:"id",pIdKey:"fzid",rootPId:0}},callback : {beforeRemove: beforeRemove,onRemove: onRemove,beforeEditName: beforeEditName,beforeRename: beforeRename,onRename: onRename,beforeClick: beforeClick,onClick: onClick}}
	这里setting可看作是一个参数,后面会用到这个配置参数。其中:showLine:设置zTree是否显示节点之间的连线,默认值为true,true/false分别表示 显示/不显示 连线;edit:{}:用来配置编辑事件状态等;drag:{}:用来配置节点(菜单)拖拽事件等;isCopy:拖拽时,设置是否允许复制节点[setting.edit.enable 		 		  = true 时生效],默认值为true;isMove:拖拽时,设置是否允许移动节点[setting.edit.enable = true 时生效],默认值为true;1、isCopy = true; isMove = true 时,拖拽节点按下 Ctrl 或 Cmd 键表示 copy; 否则为 move。2、isCopy = true; isMove = false 时,所有拖拽操作都是copy。3、isCopy = false; isMove = true 时,所有拖拽操作都是 move。4、isCopy = false; isMove = false时,禁止拖拽操作。enable:设置zTree是否处于编辑状态,默认值是false,true/false分别表示 可以/不可以 编辑;showRenameBtn:设置是否显示编			辑名称按钮[setting.edit.enable = true 时生效],默认值为true,true / false 分别表示 显示 / 隐藏 编辑名称按钮,当点击此编辑名称		按钮时:1、进入节点编辑名称状态。2、编辑名称完毕(Input 失去焦点 或 按下 Enter 键),会触发 setting.callback.beforeRename 回调函数,用户可根据自己的规则判定是否允许修改名称。3、如果 beforeRename 返回 false,则继续保持编辑名称状态,直到名称符合规则位置 (按下 ESC 键可取消编辑名称状态,恢复	原名称)。4、如果未设置 beforeRename 或 beforeRename 返回 true,则结束节点编辑名称状态,更新节点名称,并触发 			setting.callback.onRename 回调函数。showRemoveBtn:设置是否显示删除按钮。[setting.edit.enable = true 时生效],默认值为true,true / false 分别表示 显示 / 隐藏 删		除按钮,当点击此删除按钮时:1、首先触发 setting.callback.beforeRemove 回调函数,用户可判定是否进行删除操作。2、如果未设置 beforeRemove 或 beforeRemove 返回 true,则删除节点并触发 setting.callback.onRemove 回调函数。renameTitle:设置鼠标移动到 编辑名称按钮 上时,浏览器自动弹出的辅助信息内容,可根据用户需要自行修改[setting.edit.enable 		 、					= true & setting.edit.showRenameBtn = true 时生效],默认值为“rename”;removeTitle:鼠标移动到 删除按钮 上时,浏览器自动	弹出的辅助信息内容,可根据用户需要自行修改[setting.edit.enable = true & setting.edit.showRemoveBtn = true 时生效],默认值	为“remove”;view:{}:selectedMulti :设置是否允许同时选中多个节点(菜单)。默认值为true,true / false 分别表示 支持 / 不支持 同时选中多个节点;addHoverDom:用于当鼠标移动到节点上时,显示用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮,默认值为	null,务必与 setting.view.removeHoverDom 同时使用;removeHoverDom:用于当鼠标移出节点时,隐藏用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮,默认值为null,务必与 addHoverDom 同时使用;data:{}:simpleData:{}:用来设置简单数据格式类型以便更方便的与zTreer插件要求的数据格式相匹配;enable :确定 zTree 初始化时的节点数据、异步加载时的节点数据、或 addNodes 方法中输入的 newNodes 数据是否采用简单数据模式 (Array),不需要用户再把	 数据库中取出的 List 强行转换为复杂的 JSON 嵌套格式,默认值为false,true / false 分别表示 使用 / 不使用 简单数据模式,如果设置为 true,请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId,并且让数据满足父子关系,简单 Array 	格式的数据如下:
var treeNodes = [{"id":1, "pId":0, "name":"test1"},{"id":11, "pId":1, "name":"test11"},{"id":12, "pId":1, "name":"test12"},{"id":111, "pId":11, "name":"test111"}
];
					idKey:节点数据中保存唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效],默认值为“id”;pIdKey:节点数据中	保存其父节点唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效],默认值为“pid”;rootPId:用于修正根节点父节点数据,即 pIdKey 指定的属性值。[setting.data.simpleData.enable = true 时生效],默认值为null;

http://chatgpt.dhexx.cn/article/W4AnZs3I.shtml

相关文章

ZTree基本使用及本人详解

文章目录 ZTree树简介简介ZTree的特点练习ztree之前的小建议ZTree文件介绍ZTree的配置介绍 ZTree使用案例需求1&#xff1a;前端初始化数据&#xff08;标准json数据&#xff09;前端代码 需求2&#xff1a;后端查询ztree数据&#xff08;简单JSON数据&#xff09;需求3&#x…

ztree 使用教程

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。被广泛应用在系统的权限管理中&#xff0c;本文讲解zTree的一般应用 zTree 官网 http://www.treejs.cn/v3/main.php#_zTreeInfo 1、zTree 官网下载 ztree 下载好后放到项目相关目录下 2、编写相关代码 引入相关js 、 css …

@PersistenceContext和@Autowired在EntityManager上应用的不同

首先PersistenceContext是jpa专有的注解&#xff0c;而Autowired是spring自带的注释 上方图片的意思就是EntityManager不是线程安全的&#xff0c;当多个请求进来的时候&#xff0c;spring会创建多个线程&#xff0c;而PersistenceContext就是用来为每个线程创建一个EntityMana…

java:spring:注解:@PersistenceContext和@Resource

PersistenceContext private EntityManager em; 注入的是实体管理器&#xff0c;执行持久化操作的&#xff0c;需要配置文件persistence.xml。 注入一堆保存实体类状态的数据结构&#xff0c;针对实体类的不同状态(四种,managedh或detached等)可以做出不同的反应(merge,persis…

@PersistenceContext和@Autowired在EntityManager上应用的区别。

在使用SpringJPA的时候&#xff0c;经常看到如下代码&#xff1a; PersistenceContext private EntityManager entityManager;于是就有些好奇&#xff0c;这个PersistenceContext是几个意思&#xff0c;如果是实体注入的话&#xff0c;统一采用 Autowired不可以吗&#xff1f;…

JAVAEE容器如何管理EntityManager和PersistenceContext

2019独角兽企业重金招聘Python工程师标准>>> 容器托管EntityManager PersistenceContext&#xff0c;存放unitName指向的DataBase对应的EntityBean实例集合&#xff0c;以及对这些实例进行生命周期管理 PersistenceContext( name"entityManagerNa…

An attempt was made to call the method javax.persistence.PersistenceContext.synchronization()

报错 解决办法 1、 2、 3、 4、 5、 别忘了最后点击 Apply 然后在点击ok 重启完事 6、 如果都不行的话 It was loaded from the following location: 就去这个提示下的位置 把它报错的包删除 从新加载Maven即可&#xff01;&#xff01;

Spring各种注解 @PersistenceContext和@Resource @GetMapping、@PostMapping、@PutMapping、@DeleteMapping

这里记录各种spring注解 DataAllArgsConstructorNoArgsConstructorBuilder Data 使用这个注解&#xff0c;就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了&#xff0c;注解后在编译时会自动加进去。 AllArgsConstructor 使用后添加一个构造函数&…

SpringDataJPA+Hibernate框架源码剖析(六)@PersistenceContext和@Autowired注入EntityManager的区别

SpringDataJPAHibernate框架源码剖析系列文章&#xff1a; SpringDataJPAHibernate框架源码剖析&#xff08;一&#xff09;框架介绍SpringDataJPAHibernate框架源码剖析&#xff08;二&#xff09;框架整合 之 EntityManagerFactory的构建SpringDataJPAHibernate框架源码剖析…

@PersistenceContext 注解在spring中代理

PersistenceContext private EntityManager em;springBoot 2.x 这里注入的是EntityManager的代理类&#xff0c;注入的代理类是单例的&#xff0c;所以是线程安全的 在调用EntityManager的方法时 其实是调用代理类 SharedEntityManagerInvocationHandler中的invoke方法 在这…

JPA之EntityManager踩坑笔记:更改PersistenceContext

一、原因&#xff1a;项目中配置两个Spring JPA的数据源&#xff0c;使用EntityManager的时候默认是选择第一个&#xff0c;导致查询不到第二个数据源的数据。 二、Spring JPA多数据源怎么使用EntityManager 1. Spring JPA多数据源的配置请查看此文章&#xff1a;SpringData …

Spring Data JPA 之 理解 Persistence Context 的核心概念

21 理解 Persistence Context 的核心概念 21.1 Persistence Context 相关核心概念 21.1.1 EntityManagerFactory 和 Persistence Unit 按照 JPA 协议⾥⾯的定义&#xff1a;persistence unit 是⼀些持久化配置的集合&#xff0c;⾥⾯包含了数据源的配置、EntityManagerFacto…

JPA中为什么EntityManager 的注解要用@PersistenceContext

在使用SpringJPA的时候&#xff0c;看到如下代码 PersistenceContextprivate EntityManager entityManager; 于是就有些好奇&#xff0c;这个PersistenceContext是几个意思&#xff0c;如果是实体注入的话&#xff0c;统一采用 Autowired可以吗&#xff1f;于是上网查了下&am…

web打印时,各种页面样式设置

最近碰到这个问题&#xff0c;我需要将网页打印成PDF文件。Chrome可直接将网页保存&#xff08;打印&#xff09;为PDF&#xff08;无需安装Adobe&#xff09;&#xff0c;但式样跟网页上显示的截然不同。我测试了一下用法&#xff0c;了解了其中的一些原理和解决方法&#xff…

WEB免费打印控件推荐

在WEB系统中&#xff0c;打印的确是个烦人的问题。 要么自己开发打印控件&#xff0c;如果项目时间紧&#xff0c;肯定来不及。 要么购买成熟的打印控件&#xff0c;如果是大项目可以考虑&#xff0c;但如果项目只有几K到1、2W之间&#xff0c;这就麻烦了。 前段时间有机会接…

Web打印的实现方法

目前&#xff0c;在做B/S结构程序开发的时候&#xff0c;最棘手和最令人头疼的问题之一就是Web打印。往往打印出来的效果和自己预期的效果相差甚远&#xff0c;那么怎样才能打印出自己想要的效果呢&#xff1f;本文阐述的方法将解决这一问题&#xff0c;从而使得Web打印变得简单…

简单实用的web打印方案-网页精准打印

在当前这个互联网时代&#xff0c;大部分企业都搭建了自已的平台&#xff0c;通过平台联系客户&#xff0c;与粉丝互动&#xff0c;展示自己的产品。PC网站、APP、手机站、这些平台是企业互联网生态系统的重要基础。在公司平台化、系统化的今天&#xff0c;工作中出现web打印的…

JPrint web打印编辑器及web在线打印,JS打印编辑器

效果图 背景&#xff1a; 电子商务的发展火了一大批网商&#xff0c;每日近2000W的订单需要处理&#xff0c;相应的每天有2000W的订单需要打印。在淘宝卖家服务市场里有很多快递单发货单打印工具&#xff0c;他们使用的是阿里提供的菜鸟打印&#xff08;active&#xff09;组件…

前端web打印

前端打印 一、Vue打印插件 第一种方法&#xff1a;通过npm 安装插件 1&#xff0c;安装 npm install vue-print-nb --save 2&#xff0c;引入 安装好以后在main.js文件中引入 import Print from vue-print-nbVue.use(Print); //注册   3&#xff0c;现在就可以使用了 &…

Web Print打印服务

Web Print打印服务 题目一、安装打印服务二、配置相关的打印机三.配置证书并添加到打印机里1.RouterSrv2.IspSrv提示:若需要单独全套笔记可私信我咨询 题目 Web Print 添加一台虚拟打印机,名称为“CS-Print”,发布到AD域。 客户端们都能够通过访问“https://print.worldski…