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


Posted in Javascript onOctober 21, 2019

一.页面样式

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树组件 实现树懒加载的过程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
Jun 14 Javascript
javascript中input中readonly和disabled区别介绍
Oct 23 Javascript
ExtJS4给Combobox设置列表中的默认值示例
May 02 Javascript
浅析JS操作DOM的一些常用方法
May 13 Javascript
原生js实现图片放大缩小计时器效果
Jan 20 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
详解vue.js的事件处理器v-on:click
Jun 27 Javascript
深入理解vue Render函数
Jul 19 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
vue使用v-for实现hover点击效果
Sep 29 Javascript
vue 项目引入echarts 添加点击事件操作
Sep 09 Javascript
使用JavaScript实现贪吃蛇游戏
Sep 29 Javascript
JavaScript函数IIFE使用详解
Oct 21 #Javascript
vue实现侧边栏导航效果
Oct 21 #Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 #Javascript
vue-cli基础配置及webpack配置修改的完整步骤
Oct 20 #Javascript
关于Vue中axios的封装实例详解
Oct 20 #Javascript
JavaScript相等运算符的九条规则示例详解
Oct 20 #Javascript
Vue.js下拉菜单组件使用方法详解
Oct 19 #Javascript
You might like
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
Python中文件遍历的两种方法
2014/06/16 Python
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
python之super的使用小结
2018/08/13 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
在 Pycharm 安装使用black的方法详解
2020/04/02 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
Python celery原理及运行流程解析
2020/06/13 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
CSS3控制HTML元素动画效果
2014/02/08 HTML / CSS
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
物业管理员岗位职责范文
2013/11/25 职场文书
保险经纪人求职信
2014/03/11 职场文书
《故乡》教学反思
2014/04/10 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
培训通知书模板
2015/04/17 职场文书
八年级英语教学反思
2016/02/15 职场文书
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs