当前位置: 首页 > news >正文

vue 引入zTree

下载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, //点击选中 checkboxonAsyncSuccess: this.zTreeOnAsyncSuccess,//异步加载成功的funbeforeAsync: 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){}
http://www.lryc.cn/news/168975.html

相关文章:

  • 链队列的基本操作(带头结点,不带头结点)
  • 深入学习 Redis Cluster - 基于 Docker、DockerCompose 搭建 Redis 集群,处理故障、扩容方案
  • C现代方法(第3、4章)笔记
  • R语言绘制染色体变异位置分布图,RIdeogram包
  • Vue知识系列(7)每天10个小知识点
  • 5分钟就能实现的API监控,有什么理由不做呢?
  • Jmeter引入外部jar包以满足加密数据的Post请求
  • 了解冒泡排序
  • 群辉 Synology NAS Docker 安装 RustDesk-server 自建服务器只要一个容器
  • 为什么要有override
  • Linux界的老古董
  • 安卓逆向 - Xposed入门教程
  • 【嵌入式】2024届校招岗位汇总
  • Docker搭建ELK日志采集服务及Kibana可视化图表展示
  • SpringBoot结合MyBatis实现多数据源配置
  • 单个vue echarts页面
  • 【web开发】6、Django(1)
  • 第29节-PhotoShop基础课程-滤镜库
  • 空间(蓝桥杯)
  • 蓝桥杯2023年第十四届省赛真题-更小的数--题解
  • SpringBoot详解
  • typescript 类型断言
  • 如何确定自己是否适合做程序员?
  • LabVIEW以编程方式查找系统中DAQ设备的设备名称
  • 23、mysql数据库的安装
  • 【实战详解】如何快速搭建接口自动化测试框架?Python + Requests
  • Linux安全加固:保护你的服务器
  • 【C++初阶】C++STL详解(四)—— vector的模拟实现
  • VS code 下 makefile 【缺少分隔符 停下来】 报错解决方法
  • 虹科案例 | Zuellig Pharma和ELPRO通过符合GDP标准的温度监测和高效的温度数据管理为未来发展奠定基础