vue+element树组件 实现树懒加载的过程详解

作者:___mouM 时间:2024-05-25 15:19:36 

一.页面样式

vue+element树组件 实现树懒加载的过程详解

二.数据库

vue+element树组件 实现树懒加载的过程详解

 三.前端页面代码


<template>
<el-tree :props="props"
  :load="loadNode"
  lazy
  show-checkbox>
</el-tree>
</template>

<script>
export default {
data () {
return {
 props: {
 label: 'name',
 children: 'zones',
 isLeaf: 'leaf',

},
};
},
methods: {
loadNode (node, resolve) {
 //如果展开第一级节点,从后台加载一级节点列表
 if (node.level == 0) {
 this.loadfirstnode(resolve);
 }
 //如果展开其他级节点,动态从后台加载下一级节点列表
 if (node.level >= 1) {
 this.loadchildnode(node, resolve);
 }
},
//加载第一级节点
loadfirstnode (resolve) {

this.api({
 url: "/test/tree",
 method: "post",

}).then(data => {
 console.log(data);
 //this.data = data.list;
 return resolve(data.list);

})
},
//加载节点的子节点集合
loadchildnode (node, resolve) {
 this.api({
 url: "/test/tree2",
 method: "post",
 params: {
  id: node.data.id
 }
 }).then(data => {
 console.log(data);
 //this.defaultProps.children = data.list;
 return resolve(data.list);

})
}

}

}
</script>

controller层


@PostMapping("/tree")
public JSONObject tree( ) {return userService.tree();
}

@PostMapping("/tree2")
public JSONObject tree(@RequestParam Map<String, Object> user) {return userService.tree2(user);
}

service层


/**
 * 树
 */
JSONObject tree();

/**
 * 树
 */
JSONObject tree2(Map<String, Object> user);

serviceImpl层


@Override
public JSONObject tree() {
 List<JSONObject> list=userDao.tree();
 System.out.println(list);
 return CommonUtil.successPage(list);
}
@Override
public JSONObject tree2(Map<String, Object> user) {
 int codept=Integer.parseInt(user.get("id").toString()) ;
 List<JSONObject> list=userDao.tree2(codept);
 return CommonUtil.successPage(list);
}

dao层


/**
 * 树
 */
List<JSONObject> tree();
List<JSONObject> tree2(@Param("codept")int codept);

mapper层


<select id="tree" resultType="com.alibaba.fastjson.JSONObject">
 SELECT [id]
 ,[codept]
 ,[name]
FROM [dbo].[Dept] WHERE codept ='0'
</select>

<select id="tree2" resultType="com.alibaba.fastjson.JSONObject">
 SELECT [id]
 ,[codept]
 ,[name]
FROM [dbo].[Dept] WHERE codept =#{codept}
</select>

总结

以上所述是小编给大家介绍的vue+element树组件 实现树懒加载的过程详解,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://www.cnblogs.com/aknife/archive/2019/10/20/11709255.html

标签:vue,树懒加载,树组件
0
投稿

猜你喜欢

  • FCKEditor网页编辑器 几点使用心得

    2022-06-25 17:09:34
  • Pytorch mask-rcnn 实现细节分享

    2021-10-20 01:31:38
  • iscroll动态加载数据完美解决方法

    2024-04-10 13:59:01
  • 一文详解如何创建自己的Python装饰器

    2021-09-10 02:43:43
  • Python3基础之条件与循环控制实例解析

    2021-08-29 03:02:31
  • MySQL外键约束的禁用与启用命令

    2024-01-27 00:45:04
  • Python利用pywin32实现自动操作电脑

    2024-01-03 03:35:59
  • Python中使用items()方法返回字典元素对的教程

    2023-11-20 13:07:09
  • PyQt5实现简易电子词典

    2023-09-21 10:01:59
  • .Net中控件的命名规则

    2024-06-05 09:25:15
  • 在Golang中使用Redis的方法示例

    2024-04-28 09:16:01
  • php 常用字符串函数总结

    2024-06-05 09:47:33
  • pycharm设置鼠标悬停查看方法设置

    2022-12-25 16:04:31
  • 浅谈vue项目可以从哪些方面进行优化

    2024-05-09 15:19:50
  • win10安装tensorflow-gpu1.8.0详细完整步骤

    2023-01-22 08:44:33
  • 科学与艺术兼顾的有效网页视觉设计

    2007-09-18 18:03:00
  • vue+canvas实现拼图小游戏

    2024-05-09 15:09:34
  • mysql中profile的使用方法教程

    2024-01-16 02:28:52
  • 浅谈pytorch torch.backends.cudnn设置作用

    2022-06-20 16:25:06
  • python基础中的文件对象详解

    2021-10-20 00:22:40
  • asp之家 网络编程 m.aspxhome.com