vue+element树组件 实现树懒加载的过程详解
作者:___mouM 时间:2024-05-25 15:19:36
一.页面样式
二.数据库
三.前端页面代码
<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