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中如何把一段html代码动态写入到DIV中(实例说明)
Jul 09 Javascript
JQuery实现倒计时按钮具体方法
Nov 14 Javascript
JS检测输入字符是否包含非法字符的示例代码
Feb 11 Javascript
Jquery uploadify上传插件使用详解
Jan 13 Javascript
js判断所有表单项不为空则提交表单的实现方法
Sep 09 Javascript
实例解析js中try、catch、finally的执行规则
Feb 24 Javascript
Vue.js中extend选项和delimiters选项的比较
Jul 17 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
Nov 22 Javascript
基于JS实现数字动态变化显示效果附源码
Jul 18 Javascript
jquery分页优化操作实例分析
Aug 23 jQuery
layer.js open 隐藏滚动条的例子
Sep 05 Javascript
vue中div禁止点击事件的实现
Apr 02 Vue.js
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
如何正确理解PHP的错误信息
2006/10/09 PHP
优化PHP代码技巧的小结
2013/06/02 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
微信小程序class封装http代码实例
2019/08/24 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
python抓取网页图片示例(python爬虫)
2014/04/27 Python
Django实现分页功能
2018/07/02 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
使用Python进行目录的对比方法
2018/11/01 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
简单了解python元组tuple相关原理
2019/12/02 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
员工工作表现评语
2014/04/26 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸
Golang ort 中的sortInts 方法
2022/04/24 Golang