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 相关文章推荐
xheditor与validate插件冲突的解决方案
Apr 15 Javascript
node在两个div之间移动,用ztree实现
Mar 06 Javascript
关于js内存泄露的一个好例子
Dec 09 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
前端分页功能的实现以及原理(jQuery)
Jan 22 Javascript
javascript DOM的详解及实例代码
Mar 06 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
Apr 07 Javascript
原生javascript实现文件异步上传的实例讲解
Oct 26 Javascript
JavaScript创建对象的四种常用模式实例分析
Jan 11 Javascript
简单实现vue中的依赖收集与响应的方法
Feb 18 Javascript
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
通过实例了解Render Props回调地狱解决方案
Nov 04 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
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
Sea.JS知识总结
2016/05/05 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
Django中login_required装饰器的深入介绍
2017/11/24 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
2017/12/25 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
python-视频分帧&amp;多帧合成视频实例
2019/12/10 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
python 调用Google翻译接口的方法
2020/12/09 Python
python 实现IP子网计算
2021/02/18 Python
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
node中使用shell脚本的方法步骤
2021/03/23 Javascript
行政部岗位职责范本
2014/03/13 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
个人整改方案范文
2014/10/25 职场文书
服务承诺书
2015/01/19 职场文书
新闻报道稿范文
2015/07/23 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android