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 Tips 使用DocumentFragment加快DOM渲染速度
Jun 28 Javascript
extjs 初始化checkboxgroup值的代码
Sep 21 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 Javascript
jquery代码实现简单的随机图片瀑布流效果
Apr 20 Javascript
分享一些常用的jQuery动画事件和动画函数
Nov 27 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
Jun 13 Javascript
javaScript事件机制兼容【详细整理】
Jul 23 Javascript
JS前端笔试题分析
Dec 19 Javascript
angular ng-repeat数组中的数组实例
Feb 18 Javascript
详解小程序不同页面之间通讯的解决方案
Nov 23 Javascript
vue实现动态表格提交参数动态生成控件的操作
Nov 09 Javascript
vue mvvm数据响应实现
Nov 11 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
php microtime获取浮点的时间戳
2010/02/21 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
Python中扩展包的安装方法详解
2017/06/14 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
python中def是做什么的
2020/06/10 Python
python3的pip路径在哪
2020/06/23 Python
python 实现学生信息管理系统的示例
2020/11/28 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
2020/12/04 Python
SKECHERS斯凯奇中国官网:来自美国的运动休闲品牌
2018/11/14 全球购物
网络技术支持面试题
2013/04/22 面试题
生物化工专业个人自荐信
2013/09/26 职场文书
旷课检讨书大全
2014/01/21 职场文书
婚前财产公证书
2014/04/10 职场文书
群众路线对照检查材料
2014/09/22 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL
阿里云日志过滤器配置日志服务
2022/04/09 Servers
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS