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 相关文章推荐
javascript中的prototype属性实例分析说明
Aug 09 Javascript
多个js与css文件的合并方法详细说明
Dec 26 Javascript
JS中获取数据库中的值的方法
Jul 14 Javascript
javascript设计模式之解释器模式详解
Jun 05 Javascript
jQuery调用Webservice传递json数组的方法
Aug 06 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
Apr 19 Javascript
jQuery实现所有验证通过方可提交的表单验证
Nov 21 jQuery
js调用设备摄像头的方法
Jul 19 Javascript
浅谈Vue数据响应思路之数组
Nov 06 Javascript
RxJS的入门指引和初步应用
Jun 15 Javascript
JavaScript实现密码强度实时验证
Mar 18 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
May 20 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
基于文本的访客签到簿
2006/10/09 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
php实现36进制与10进制转换功能示例
2017/01/10 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
JS+Canvas绘制时钟效果
2020/08/20 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
python 判断一个进程是否存在
2009/04/09 Python
python网络编程学习笔记(10):webpy框架
2014/06/09 Python
python版简单工厂模式
2017/10/16 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
台风停课通知
2015/04/24 职场文书
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python