vue 引入zTree

2023-09-14 19:48:39

下载js包解压后找个地方放文件夹内

引入

import "@/common/zTree/js/jquery-1.4.4.min"
import "@/common/zTree/js/jquery.ztree.core.min.js"
import "@/common/zTree/js/jquery.ztree.excheck.min.js"
import "@/common/zTree/css/metroStyle/metroStyle.css"
<div id="treeDemo" class="ztree"></div>

初始化

 this.ztreeObj = $.fn.zTree.init($("#treeDemo"), this.setting,this.treeData);

treeData:自己的原始数据,树结构数据,setting:设置
原始数据中,每一层添加open:true,即可自动展开
添加checked:true 即可默认选中

setting: {
        treeId: "id",
        data: {
            simpleData: {
                enable: true,
                idKey:'sid',
                pIdKey:'pid',
                rootPId:'-'
            },
            key:{
                isParent: "parent",
                name:'projectName', //需要显示的字段名称
                title:'projectName'
            },
        },
        check:{
          enable:true,  //true 、 false 分别表示 显示 、不显示 复选框或单选框
          nocheckInherit:true  //当父节点设置 nocheck = true 时,设置子节点是否自动继承 nocheck = true 
        },
        callback: {
            // 树的点击事件
            onClick: this.zTreeOnClick,//点击回调
            onCheck: this.oncheck, //点击选中 checkbox
            onAsyncSuccess: this.zTreeOnAsyncSuccess,//异步加载成功的fun
            beforeAsync: this.zTreeBeforeAsync,//异步加载前的回调
            onExpand: this.expandNode//节点展开回调
        },
        edit: {//是否支持拖拽,enable我改成了false,代表此功能禁用,也可以直接删除,为了防止后续他们提这个需求,所以我还是写上了
            drag: {
                isMove: true,
                prev: true,
                next: true,
                inner: true
            },
            enable: false,
            showRemoveBtn: false,
            showRenameBtn: false
        },
        view:{
            // addHoverDom:this.addhoverdom,//ztree提供的可以自定义添加dom
            // removeHoverDom:this.removehoverdom,//和addHoverDom成对出现,离开节点时需要移除自定义的dom
            // fontCss: function (treeId, treeNode) {//设置所有节点的样式,我这里的代码的意思是,当前节点是否高亮(树节点搜索的时候会高亮命中的节点),高亮就设置节点高亮样式,否则就是普通样式
            //     return (!!treeNode.highlight) ? {'backgroundColor':'#F6F7F8','display':'inline-block','width':'95%','min-width':'225px','padding':'3px 0'} : {
            //             color: "#000000", "font-weight": "normal"
            //         };
            // },
            showTitle:true //是否显示titie属性(就是鼠标放到节点上是否显示html元素的title属性)
        },
        // async:{//节点很多的情况下设置懒加载
        //     enable:true,//是否开启异步加载模式
        //     contentType: "application/json",//Ajax 提交参数的数据类型
        //     dataType: "json",//Ajax 获取的数据类型
        //     // url:'/aa/bbb/ccc/loadTree',//点击树的展开节点,会重新加载子节点,这里是请求的url地址
        //     type:'POST',//当前的请求类型
        //     // autoParam:['id=parentId'],//将节点的pId值作为参数传递
        //     // otherParam:{'userId':()=>{return this.userId;},'userName':()=>{return this.userName;},'tenantId':()=>{return this.tenantId;}}
        //     otherParam:{'userId':this.userId,'userName':this.userName,'tenantId':this.tenantId,'parentId':'-'},//每次异步请求携带的参数
        //     dataFilter:function(treeId, parentNode, resp){
        //         sessionStorage.setItem('tongbunodes',JSON.stringify(resp.jsSubjects.children));
        //         return resp.subjects;
        //     }//对 Ajax 返回数据进行预处理的函数,就是异步加载返回的数据你可以处理一下再用
        // }
//点击
zTreeOnClick(event, treeId, treeNode){
 	 if(allSid.indexOf(treeNode.proid) != -1){
         this.ztreeObj.checkNode(treeNode, false, true);//取消勾选
       }else{            
         this.ztreeObj.checkNode(treeNode, true, true);//勾选
      }
}
//选中
 oncheck(event, treeId, treeNode){
 }
更多推荐

设计模式(2) - 创建型模式

创建型模式指的是创建对象或是获取实例的方式。1、工厂模式平时写一些简单的代码可能会直接用new创建出一个对象,但是实际在阅读一些功能比较多、规模比较庞大的工程时,可能会发现有多个类继承于同一个基类的情况,它们拥有同样的接口但是实现了不同的功能。它们可能是可以互相替代的两套系统(例如AndroidMedia中的ACode

Docker 容器设置为自动重启

Docker自动重启原因Docker自动重启通常是由以下几个原因导致的:程序崩溃系统内存不足系统进程使用过多CPU和RAM导致的阻塞docker容器被杀死或重新启动,导致应用程序中断网络中断当这些问题出现时,Docker会自动重启运行中的服务来尝试解决问题。dockerupdate--restart=alwaysmys

【docker】容器跟宿主机、其他容器通信

说明容器跟宿主机、其他容器通信的关键在于它们要在同一个网络,或者通过修改路由信息来可以让它们互相之间能够找得到对方的IP。本文主要介绍让它们在同一个网络的方法。Docker自定义网络模式介绍Docker容器可以通过自定义网络来与宿主机或其他容器进行通信。在Docker中,有三种类型的网络:bridge网络、host网络

使用ElementPlus实现内嵌表格和内嵌分页

前言有时遇到这样的需求,就是在表格里面嵌入一个表格,以及要求带有分页,这样在ElementPlus中很好实现。以下使用Vue2语法实现一个简单例子,毕竟Vue3兼容Vue2语法,若想要Vue3版本例子,简单改改就OK了。一、示例代码(1)/src/views/Example/InlineTable/index.vue<

proteus中的各种电阻-可变电阻-排阻

在原理图中使用各类型的电阻是很常见的事情,尤其类似与排阻、可变电阻,但这些电阻对于不熟悉proteus的童鞋来说,一下子可能很难找到,或者很难找心中所想的那个类型,这里分类列出,便于大家使用。文章目录一、普通电阻1、普通电阻(模拟信号电阻)2、上拉与下拉电阻(模拟信号电阻常常报错)二、排阻1、ResistorPack2

Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

目录一、@SpringBootApplication二、@SpringBootConfiguration三、@EnableAutoConfiguration四、@ComponentScan一、@SpringBootApplication@SpringBootApplication是SpringBoot框架的核心注解之一

SSL免费证书会报安全提示吗?

安全性是互联网世界中至关重要的一环,其中一个关键组成部分就是SSL证书,它们用于加密在用户浏览器和服务器之间传输的数据,以确保数据的保密性和完整性。然而,有关SSL证书的一个常见问题是:免费SSL证书是否会触发安全警告?本文将深入探讨这个问题,以帮助您更好地理解SSL证书的工作原理以及免费证书可能对您的网站安全性产生的

【Spring Boot】详解restful api

目录1.restfulapi1.1.历史1.2.内容1.3.传参2.SpringBoot中的RestfulApi1.restfulapi1.1.历史RESTfulAPI(RepresentationalStateTransferfulApplicationProgrammingInterface)是一种设计风格,用于构

AI大模型服务上线,助力企业AI大模型应用落地

在数字时代的浪潮中,人工智能(AI)技术的发展和应用已经深入到我们生活的方方面面。其中,企业AI大模型作为AI技术的重要形式之一,正在成为推动企业创新、提高效率和优化决策的关键力量。为顺应AI大模型的新趋势需求,近日,AI大模型服务,为企业提供高度定制化的AI大模正式上线,助力企业AI大模型应用落地,打造企业二次增长曲

linux驱动开发--day4(字符设备驱动注册内部流程、及实现备文件和设备的绑定下LED灯实验)

一、字符设备驱动注册的内部过程1.分配structcdev对象空间2.初始化structcdev对象3.注册cdev对象二、注册字符设备驱动分步实现1.分配字符设备驱动对象2.字符设备驱动对象初始化3.设备号的申请4.根据申请的设备号和驱动对象注册驱动三、open函数回调驱动中操作方法open的路线1.应用层打开文件系

一文读懂 Redis 缓存系统

【摘要】本文介绍了Redis缓存原理、详细解析了缓存模型、缓存一致性和缓存异常场景。【作者】李杰,专注于Java虚拟机技术、云原生技术领域的探索与研究。尽管(关系型)数据库系统(SQL)带来了许多出色的属性,例如ACID,但为了保持这些属性,数据库的性能在“3高”条件环境下下往往显得捉襟见肘、苍白无力。为了解决这个问题

热文推荐