当前位置: 首页 > news >正文

vue 树状结构数据渲染 (java 处理 list ->树状)

树状结构 Element ui

https://element.eleme.cn/#/zh-CN/component/tree

<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
<script>export default {data() {return {data: [{label: '一级 1',children: [{label: '二级 1-1',children: [{label: '三级 1-1-1'}]}]}, {label: '一级 2',children: [{label: '二级 2-1',children: [{label: '三级 2-1-1'}]}, {label: '二级 2-2',children: [{label: '三级 2-2-1'}]}]}, {label: '一级 3',children: [{label: '二级 3-1',children: [{label: '三级 3-1-1'}]}, {label: '二级 3-2',children: [{label: '三级 3-2-1'}]}]}],defaultProps: {children: 'children',label: 'label'}};},methods: {handleNodeClick(data) {console.log(data);}}};
</script>

加入关键字进行过滤 和 数据渲染

  <el-inputplaceholder="输入关键字进行过滤"v-model="filterText"></el-input><el-treeclass="filter-tree":data="data"show-checkbox:props="defaultProps"accordion:filter-node-method="filterNode"ref="tree"@node-click="handleNodeClick"></el-tree>
 watch: {filterText(val) {this.$refs.tree.filter(val);}},created() {this.load_data()},mounted(){},//钩子函数,一般在初始化页面完成后,再对dom节点进行相关操作methods:{load_data(){const _this = this;axios({method:"get",url:"http://localhost:8089/tree/list",}).then(resp=>{_this.data = resp.data});},handleNodeClick(data) {console.log(data.label);this.label = data.label},filterNode(value, data){if (!value) return true;return data.label.indexOf(value) !== -1;}},data(){return {label: "你好",filterText: '',data:[],defaultProps: {children: 'children',label: 'label'}}}})

java Calss

在这里插入图片描述

package com.zhan;import cn.hutool.json.JSONUtil;
import com.zhan.pojo.vo.TreeKnowledgePoints;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;@SpringBootTest
public class Tree {private static List<TreeKnowledgePoints> treeKnowledgePoints;@Testvoid Test(){TreeKnowledgePoints points = new TreeKnowledgePoints(1,0,"操作系统引论");TreeKnowledgePoints points1 = new TreeKnowledgePoints(2,1,"操作系统作用和目标");TreeKnowledgePoints points2 = new TreeKnowledgePoints(3,2,"操作系统作用");TreeKnowledgePoints points3 = new TreeKnowledgePoints(4,2,"操作系统目标");treeKnowledgePoints = new ArrayList<TreeKnowledgePoints>();treeKnowledgePoints.add(points);treeKnowledgePoints.add(points1);treeKnowledgePoints.add(points2);treeKnowledgePoints.add(points3);List<TreeKnowledgePoints> list = buildTree(treeKnowledgePoints,0);System.out.println(JSONUtil.toJsonStr(list));}/*** 递归* @param deptList* @param pid* @return*/private static List<TreeKnowledgePoints> buildTree(List<TreeKnowledgePoints> deptList,int pid){List<TreeKnowledgePoints> treeList = new ArrayList<TreeKnowledgePoints>();for (TreeKnowledgePoints dept : deptList) {if (dept.getParentId() == pid) {dept.setChildren(buildTree(deptList, dept.getId()));treeList.add(dept);}}return treeList;}}
http://www.lryc.cn/news/199288.html

相关文章:

  • 惊艳!这些独特的搜索引擎你都知道吗?
  • 解除OU屏蔽(EBS检查无法直接查询解决)
  • 10月8日 Jdbc(1)
  • SAP 第三方销售/单独采购
  • yxy销售网站后台管理系统
  • 【vSphere 8 自签名证书】企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅲ—— 颁发自签名证书
  • Hadoop3教程(十九):MapReduce之ETL清洗案例
  • 数据库设计阶段-架构真题(五十七)
  • python控制Windows桌面程序自动化模块uiautomation
  • Serializable 和Parcelable的区别
  • dubbogo-02 将服务注册到nacos
  • postgresql 配置文件 与 修改配置如何启用
  • 物联网专业前景怎么样?
  • JVM垃圾回收算法介绍
  • 紫光同创FPGA实现HSSTLP高速接口通信,8b/10b编解码数据回环,提供PDS工程源码和技术支持
  • Web前端—盒子模型:选择器、PxCook、盒子模型、正则表达式、综合案例(产品卡片与新闻列表)
  • C++ vector类模拟实现
  • FastAPI+Pydantic使用自定义参数校验+自定义异常+全局异常捕获
  • Python综合练习题
  • SpringCloud+Nacos集成Seata-1.7.0分布式事务
  • 任务调度框架-如何实现定时任务+RabbitMQ事务+手动ACK
  • 修炼k8s+flink+hdfs+dlink(六:学习k8s)
  • 红队专题-从零开始VC++C/S远程控制软件RAT-MFC-[4]客户端与服务端连接
  • Qt Designer生成ui文件,如何转py文件,如何运行
  • Python数据挖掘:自动售货机销售数据分析与应用
  • 【设计模式】设计模式概述
  • 第六届“中国法研杯”司法人工智能挑战赛进行中!
  • 关于 passing ‘const xx’ as ‘this’ argument of 的错误
  • 数据结构和算法(13):优先级队列
  • 面试经典150题——Day15