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

vue3+element-plus组件下拉列表,数组数据转成树形数据

引入组件

可以直接在项目中引入element-plus表格组件,如果需要变成下拉列表样式需要添加以下属性:

row-key 必填 最好给数字或唯一属性 , 给每个节点设置id 不填的话 没有办法实现展开效果
load 这个是动态添加数据的 前提(开启lazy ,表格数组里设置了hasChildren:true)
treeprops 是配置树状收缩数据的
treeprops :{hasChildren} 是否可收缩
treeprops :{children} 展开的子项

代码示例:

 <el-table:data="(所需要的渲染数据)"row-key="id"style="width: 100%; border: 0.1px solid #ebeef5"v-loading="loading"lazy:load="load":tree-props="{ hasChildren: 'hasChildren', children: 'children' }"//>

普通数组转换成树形数据

 const transListDataToTreeData = (list, root) => {console.log(list);const arr = [];// 1.遍历list.forEach(item => {// 2.首次传入空字符串  判断list的pid是否为0 如果为空就是一级节点if (item.pid === root) {// 找到之后就要去找item下面有没有子节点  以 item.id 作为 父 id, 接着往下找const children = transListDataToTreeData(list, item.id);if (children.length > 0) {// 如果children的长度大于0,说明找到了子节点item.children = children;}// 将item项, 追加到arr数组中arr.push(item);console.log(arr);console.log(arr);}});return arr;};transListDataToTreeData(初始数组, "");

http://www.lryc.cn/news/123285.html

相关文章:

  • 【kubernetes】调度约束
  • 【深度学习MOT】SMILEtrack SiMIlarity LEarning for Multiple Object Tracking,论文
  • jmeter通过BeanShell对接口参数进行MD5和HmacSHA256加密【杭州多测师_王sir】
  • 基于自适应曲线阈值和非局部稀疏正则化的压缩感知图像复原研究【自适应曲线阈值去除加性稳态白/有色高斯噪声】(Matlab代码实现)
  • Spring AOP 切点表达式
  • 打破传统直播,最新数字化升级3DVR全景直播
  • 网络安全--利用awk分析Apache日志
  • 计算机视觉一 —— 介绍与环境安装
  • 如何看懂统一社会信用代码?
  • 计算机网络 运输层端口号,复用、分用
  • systrace: 系统级跟踪工具的解析
  • 关于青少年学习演讲与口才对未来的领导力的塑造的探析
  • 大数据分析案例-基于KMeans和DBSCAN算法对汽车行业客户进行聚类分群
  • Vue 3 中定义组件常用方法
  • Linux | curl命令调用接口时查看调用时长和详情
  • 用ngrok实现内网穿透,一行命令就搞定!
  • C++ 混合Python编程 及 Visual Studio配置
  • 斐波拉契数列+二进制--夏令营
  • 【使用Hilbert变换在噪声信号中进行自动活动检测】基于Hilbert变换和平滑技术进行自动信号分割和活动检测研究(Matlab代码实现)
  • Android 13 Launcher——屏蔽上拉到应用列表
  • Java 基础知识点
  • jenkins容器内CI/CD 项目失败问题
  • CRC 校验码
  • 代码随想录二刷day01
  • 【C++奇遇记】智能的函数探幽
  • 使用wxPython和PyMuPDF在Python中显示PDF目录的实现
  • 综述:计算机视觉中的图像分割
  • 【动态规划基础】数字三角形(IOI1994)
  • yolo源码注释2——数据集配置文件
  • Java实现根据姓名生成头像(钉钉样式)