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

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>

推荐一篇文章
Element-ui Tree 详解:懒加载与非懒加载、选择框、节点刷新(手动刷新)、树数据封装、展开选择节点所在树

相关文章:

  • JS 异步编程六种方案
  • el-table样式美化
  • JavaScript模块化编程文章集锦
  • 《“ 追梦人” 的逐梦路:探寻大学生创客群体的发展之道》
  • Python Web开发 # Flask框架教程
  • 项目上线流程
  • 刻意练习
  • 【成长经历】【钉钉前端】 高中毕业-如何用 15 年从小白到技术专家
  • 转正实习、春招、秋招、校招、社招的4个区别和陷阱
  • 前端工具方法
  • 【转载】8年工作的总结
  • 【转】计算机保研经验总结
  • IIS 500.19错误的解决思路
  • el-form内el-select与el-input纵向不对齐的问题
  • MVVM模式的理解
  • 【mysql】环境安装、服务启动、密码设置
  • Docker: 容器互访的三种方式
  • ES6核心特性
  • happypack两次报错的问题
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • nginx 配置多 域名 + 多 https
  • Solarized Scheme
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 给github项目添加CI badge
  • 基于遗传算法的优化问题求解
  • 解决iview多表头动态更改列元素发生的错误
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 优秀架构师必须掌握的架构思维
  • 终端用户监控:真实用户监控还是模拟监控?
  • 组复制官方翻译九、Group Replication Technical Details
  • #HarmonyOS:Web组件的使用
  • #if #elif #endif
  • #考研#计算机文化知识1(局域网及网络互联)
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (1)SpringCloud 整合Python
  • (2)(2.10) LTM telemetry
  • (2)Java 简介
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (day6) 319. 灯泡开关
  • (k8s中)docker netty OOM问题记录
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)c++ std::pair 与 std::make
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • *p++,*(p++),*++p,(*p)++区别?
  • .gitignore
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET CF命令行调试器MDbg入门(一)
  • .net Stream篇(六)
  • .Net Web项目创建比较不错的参考文章
  • .net 中viewstate的原理和使用
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • @vue/cli脚手架