本文连接https://www.cnblogs.com/aknife/p/11709255.html

一.页面样式

二.数据库

三.前端页面代码

  1. <template>
  2.  
  3. <el-tree :props="props"
  4. :load="loadNode"
  5. lazy
  6. show-checkbox>
  7. </el-tree>
  8.  
  9. </template>
  10. <script>
  11. export default {
  12. data () {
  13. return {
  14. props: {
  15. label: 'name',
  16. children: 'zones',
  17. isLeaf: 'leaf',
  18.  
  19. },
  20. };
  21. },
  22. methods: {
  23. loadNode (node, resolve) {
  24. //如果展开第一级节点,从后台加载一级节点列表
  25. if (node.level == 0) {
  26. this.loadfirstnode(resolve);
  27. }
  28. //如果展开其他级节点,动态从后台加载下一级节点列表
  29. if (node.level >= 1) {
  30. this.loadchildnode(node, resolve);
  31. }
  32. },
  33. //加载第一级节点
  34. loadfirstnode (resolve) {
  35.  
  36. this.api({
  37. url: "/test/tree",
  38. method: "post",
  39.  
  40. }).then(data => {
  41. console.log(data);
  42. //this.data = data.list;
  43. return resolve(data.list);
  44.  
  45. })
  46. },
  47. //加载节点的子节点集合
  48. loadchildnode (node, resolve) {
  49. this.api({
  50. url: "/test/tree2",
  51. method: "post",
  52. params: {
  53. id: node.data.id
  54. }
  55. }).then(data => {
  56. console.log(data);
  57. //this.defaultProps.children = data.list;
  58. return resolve(data.list);
  59.  
  60. })
  61. }
  62.  
  63. }
  64.  
  65. }
  66. </script>

controller层

  1. @PostMapping("/tree")
  2. public JSONObject tree( ) {return userService.tree();
  3. }
  4.  
  5. @PostMapping("/tree2")
  6. public JSONObject tree(@RequestParam Map<String, Object> user) {return userService.tree2(user);
  7. }

service层

  1. /**
  2. * 树
  3. */
  4. JSONObject tree();
  5.  
  6. /**
  7. * 树
  8. */
  9. JSONObject tree2(Map<String, Object> user);

serviceImpl层

  1. @Override
  2. public JSONObject tree() {
  3. List<JSONObject> list=userDao.tree();
  4. System.out.println(list);
  5. return CommonUtil.successPage(list);
  6. }
  7.  
  8. @Override
  9. public JSONObject tree2(Map<String, Object> user) {
  10. int codept=Integer.parseInt(user.get("id").toString()) ;
  11. List<JSONObject> list=userDao.tree2(codept);
  12. return CommonUtil.successPage(list);
  13. }

dao层

  1. /**
  2. * 树
  3. */
  4. List<JSONObject> tree();
  5. List<JSONObject> tree2(@Param("codept")int codept);

mapper层

  1. <select id="tree" resultType="com.alibaba.fastjson.JSONObject">
  2. SELECT [id]
  3. ,[codept]
  4. ,[name]
  5. FROM [dbo].[Dept] WHERE codept ='0'
  6. </select>
  7. <select id="tree2" resultType="com.alibaba.fastjson.JSONObject">
  8. SELECT [id]
  9. ,[codept]
  10. ,[name]
  11. FROM [dbo].[Dept] WHERE codept =#{codept}
  12. </select>

本文连接https://www.cnblogs.com/aknife/p/11709255.html

vue+element树组件 实现树懒加载的更多相关文章

  1. Vue.js 子组件的异步加载及其生命周期控制

    前端开发社区的繁荣,造就了很多优秀的基于 MVVM 设计模式的框架,而组件化开发思想也越来越深入人心.这其中不得不提到 Vue.js 这个专注于 VM 层的框架. 本文主要对 Vue.js 组件化开发 ...

  2. vue 单文件组件中样式加载

    在写单文件组件时,一般都是把标签.脚本.样式写到一起,这样写个人感觉有点不够简洁,所以就想着把样式分离出去. 采用import加载样式 在局部作用域(scoped)采用@import加载进来的样式文件 ...

  3. vue的异步组件按需加载

    当build打包后,app.js过大的时候,可以考虑用异步组件的方式. import HomeHeader from "./components/Header"; import H ...

  4. vue之vant组件下拉加载更多

    vant地址:https://youzan.github.io/vant/#/zh-CN/intro 基础用法 List 组件通过loading和finished两个变量控制加载状态,当组件滚动到底部 ...

  5. Vue路由(组件)懒加载(异步)

    传统的引入方式 import test from '@/components/test' { path: '/test', name: '测试页面', component:test }, 懒加载的方式 ...

  6. Vue性能优化之组件按需加载(以及一些常见的性能优化方法)

    关于Vue中的按需加载我就简单介绍一下:大概就是我们所有的东西都会在app.js里面,但是我们并不需要把所有的组件都一次性加载进来,我们可以在需要它的时候再将它加载进来,话不多说,开车! 1.webp ...

  7. Vue回炉重造之图片加载性能优化

    前言 图片加载优化对于一个网站性能好坏起着至关重要的作用.所以我们使用Vue来操作一波.备注 以下的优化一.优化二栏目都是我自己封装在Vue的工具函数里,所以请认真看完,要不然直接复制的话,容易出错的 ...

  8. vue+webpack2实现路由的懒加载

    当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 结合 Vue 的异步组 ...

  9. vue2 自定义全局组件(Loading加载效果)

    vue2 自定义全局组件(Loading加载效果) github地址: https://github.com/ccyinghua/custom-global-component 一.构建项目 vue ...

随机推荐

  1. 洛谷P3534 [POI2012] STU

    题目 二分好题 首先用二分找最小的绝对值差,对于每个a[i]都两个方向扫一遍,先都改成差满足的形式,然后再找a[k]等于0的情况,发现如果a[k]要变成0,则从他到左右两个方向上必会有两个连续的区间也 ...

  2. ImageView.ScaleType

    前言 对ImageView.ScaleType,学习安卓需掌握.以官方链接:http://android.xsoftlab.net/reference/android/widget/ImageView ...

  3. git下载指定分支到本地

    从网上查了很多方法有很多种,自我感觉下面这种更方便 git clone xxx.git --branch 分支名/dev/...

  4. [内网渗透]HASH获取与HASH传递

    0x01 PTH简介 PTH,即Pass-The-Hash,首先我们来说下为什么要使用HASH传递,一是在目标机>=win server 2012时,lsass.exe进程中是抓不到明文密码的, ...

  5. Koa 脚手架创建项目

    Koa 脚手架创建项目 通过应用 koa 脚手架生成工具 可以快速创建一个基于 koa2 的应用的骨架 全局安装koa npm install koa-generator -g //必须安装到全局 创 ...

  6. inotify 监控文件系统操作

    path0=path1=########################################################dir2watch1=/home/nanjing2/GridON ...

  7. Hadoop(二)—— HDFS

    HDFS(Hadoop Distributed File System)Hadoop分布式文件系统. 一.HDFS产生的背景 随着数据量越来越大,如果大到一台主机的磁盘都存放不下,该如何解决这个问题. ...

  8. python 操作 elasticsearch-7.0.2 遇到的问题

    错误一:TypeError: search() got an unexpected keyword argument 'doc_type',得到不预期外的参数 解决方法:elasticsearch7里 ...

  9. 273道题目;更新到java题目里面 (已迁移到其他类目下面,存储)

    1. Java 基础 1.JDK 和 JRE 有什么区别? 2. == 和 equals 的区别是什么? 3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗? ...

  10. PostgreSQL中的partition-wise join

    与基于继承的分区(inheritance-based partitioning)不同,PostgreSQL 10中引入的声明式分区对数据如何划分没有任何影响.PostgreSQL 11的查询优化器正准 ...