1、安装 vue-giant-tree

npm i vue-giant-tree --save

2、在需要ztree树的页面引入

import tree from “vue-giant-tree”;

3、注册ztree

components: {   tree },

4、配置

<tree:setting="setting":nodes="getTreeData"@onClick="selectTree"@onCreated="handleCreated"
/>

data里面写:

setting: {check: {enable: false,},view: {// 开启图标显示功能showIcon: true,expandSpeed: 500},data: {key:{name:"label",},simpleData: {//是否使用简单数据模式enable: true,//树节点id,一般是后台数据库主键idKey: "value",//父级idpIdKey: "parentId",rootPId: "0",},},//ztree回调函数callback: {//树选择事件onClick:this.selectTree, //写选择树时的方法onExpand: this.zTreeOnExpand, //延展树后方法beforeExpand: this.zTreeBeforeExpand, //延展树前方法},},ztreeObj:null,getTreeData:[],

写方法:

handleCreated(ztreeObj) {console.log("加载树完成");this.ztreeObj = ztreeObj;// let firstTree = ztreeObj.getNodes()[0];// 默认选中第一个// ztreeObj.selectNode(firstTree);// 设置节点全部展开// ztreeObj.expandAll(true);//加载完自动点击第一个,加载右边表格// this.setting.callback.onClick(null, firstTree.id, firstTree)if(this.formItem.term_code!=undefined){let node=this.ztreeObj.getNodeByParam('id',this.id)this.ztreeObj.selectNode(node,true);}//根据id进行自动滚动定位,需要在创建tree时候进行},
selectTree(evt, treeId, treeNode) {//如果要使用节点方法,比如增加节点,可以直接使用创建tree时定义的this.ztreeObjif(treeNode.isParent == false){var selectedNode = this.ztreeObj.getSelectedNodes();this.ztreeObj.addNodes(selectedNode[0], add);}
}

5、官方tree文档:

https://treejs.cn/v3/api.php

ztree在vue中的使用 使用封装好的vue-giant-tree相关推荐

  1. vue中js文件里获取this(vue实例)

    vue中js文件里获取this(vue实例) 1,在main.js中抛出vue实例,在需要用到的地方引入即可 main.js里let vueThis= new Vue({el: '#app',rout ...

  2. vue中级联选择器回填_浅谈Vue使用Cascader级联选择器数据回显中的坑

    业务场景 由于项目需求,需要对相关类目进行多选,类目数据量又特别大,业务逻辑是使用懒加载方式加载各级类目数据,编辑时回显用户选择的类目. 问题描述 使用Cascader级联选择器过程中主要存在的应用问 ...

  3. vue中组件的导出导入_5.2 vue中 keep-alive 组件的作用,详细解释keep-alive使用方法...

    问题:vue中 keep-alive 组件的作用 keep-alive:主要用于保留组件状态或避免重新渲染. 比如: 有一个列表页面和一个 详情页面,那么用户就会经常执行打开详情=>返回列表=& ...

  4. 关于Vue中$nextTick的作用及实现原理(Vue进阶)

    Hello,大家好,最近找工作的路途依然艰难,但是要一直保持对技术的热爱!今天继续跟大家探索一下Vue进阶的内容,这次研究一下Vue的全局API中的$nextTick,这是一个很常用,也是经典的API ...

  5. vue中开发多语言(国际化),vue+i18n(详细教程)

    目录 第一步: 第二步: 第三步: 第四步: 最后: 前言:我们有时候会遇到一个项目需要支持多语言,而用直接翻译的插件时常会导致翻译的结果跟自己预想的有所偏差或者结果太长造成页面结构紊乱而这个时候就需 ...

  6. vue中tab切换前端实现_使用vue实现tab操作

    tab功能在网页中是比较常见的,那么用vue怎么实现tab操作呢,与jQuery实现tab的思路有什么区别呢? 在使用jQuery类库实现tab功能时,是获取鼠标在mousenter或click时的i ...

  7. vue中axios请求的封装

    axios Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中, 也是vue官方推荐使用的http库:封装axios,一方面为了以后维护方便,另一方面也可以 ...

  8. vue中请求接口怎么封装公共地址_如何修改Vue打包后文件的接口地址配置(转自网络)...

    1.背景 常规的vue项目分为本地环境和生产环境,我们只要对 config 文件夹下的 dev.env.js 和 prod.env.js 做相应的配置即可.但是最近在做的项目中,涉及到私有化部署,就是 ...

  9. vue中请求接口怎么封装公共地址_vue请求接口的封装

    import api from './api'; import request from'./request';//获取url上的rest参数,返回参数列表 /{userId}/{roleId} =& ...

  10. jq的插件 vue中引用_详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件

    本篇文章主要介绍了详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件,具有一定的参考价值,有兴趣的可以了解一下 使用vue-cli构建的vue项目,webpack的配置文 ...

最新文章

  1. linux内核支持硬盘,Intel 10nm桌面版还是来了:Linux内核已支持
  2. 关于input type=“text”文本框的 默认宽度
  3. python运行mcmc为何老出错_python – 使用pyMCMC / pyMC对数据/观察结果设置非线性函数...
  4. spring boot 集成 mybatis,数据库为mysql
  5. 问题分享:Js引用类型赋值
  6. Tech·Ed 2007大会课程内容
  7. java中已定义类型car_Java 8 习惯用语(8):Java 知道您的类型
  8. go 语言链接服务器上的mysql数据库
  9. java服务器与客户端项目,Java项目中用于服务器和客户端软件包的共...
  10. 三七互娱U3D面经2021.3.31
  11. 使用webpack5模块联邦
  12. 3 EDA技术实用教程 【基础知识1】
  13. java sort 字符串_java字符串怎么排序
  14. 红帽linux7图形界面安装教程,RHEL7安装图形化
  15. 英文pdf翻译为中文(word+google浏览器即可)
  16. 应对个人信息保护法律合规,妥善管理个人隐私数据
  17. 大学计算机实验教程实验6,大学计算机实验教程.第6版
  18. java cxf webservice应用
  19. 随机梯度下降(SGD)
  20. 比林志玲cute的katee

热门文章

  1. 洛谷p3398仓鼠找suger题解
  2. Android build sequence
  3. 重磅报告 | 《中国企业2020:人工智能应用实践与趋势》
  4. 十大著名黑客——George Hotz
  5. matlab地震频谱分析,《基于MATLAB的地震数据的分析》.doc
  6. 吴恩达-机器学习课后题07-PCA-主成分分析法
  7. Android图片拼接
  8. 怎样将计算机和电视机连接网络连接,电脑怎么连接电视 电脑和电视连接方法图文教程...
  9. 七、手把手教你搭建SpringCloudAlibaba之Sentinel实现流量控制
  10. html制作横向菜单,CSS 横向菜单的制作