时间:2021-05-26
一.页面样式
二.数据库
三.前端页面代码
<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树组件 实现树懒加载的过程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
由于工作的原因,现在需要实现一个滚动加载(PC端)的效果,之前使用的是vue+element,但是element没有类似的组件,所以去github上找了一个名叫
Vue+element实现列表复选框并保存已选id集合1.引用element组件多选框组,checkList为提交后台数据得数组,tableData为数据源2.
分页的实现(Vue+Element)+输入框关键字筛选1.这里用的是Element自带的分页组件订单列表序号创建时间订单ID所属用户姓名所属用户ID所属用户手机
今年开始学习vue+element实现后台开发,在实现批量删除功能时有2个小知识点记录在下:1、如何实现单击行交替选中当前行的复选框,element官网的tab
下面一段代码给大家介绍vue实现个人信息查看和密码修改功能,具体代码如下所述://用了element组件,自己要加载和引入保存保存//这些不要在意,这些是我们自