当前位置: 首页 > Web前端 > HTML5

vue+elementtree(树形控件数据格式)组件(一)

时间:2023-04-05 15:59:44 HTML5

vue+elementtree(树形控件数据格式)组件(一),最近做了群里第一个可以用的组件,虽然是最简化版也浪费了很多能量。前辈们帮我解决一下,勉强搞定了。下面记录一下这个树组件的编写过程,以及其中用到的知识点。首先说一下需求,就是点击显示弹窗+遮罩。弹出窗口的内容是一个树组件。当然,弹出窗口的大小是多少?)几个常用的函数封装在里面,以后用到其他函数的时候再补充。都解决了)今天先记录下处理数据的问题,和后台沟通一下。跟后台沟通后得知,会通过接口获取这样的数据:[{id:'01',label:'testactivity',pId:'1'},{id:'011',label:'测试活动1',pId:'01'},{id:'012',label:'测试活动2',pId:'01'},{id:'02',label:'测试活动3',pId:'1'},{id:'021',label:'测试活动4',pId:'02'},{id:'022',label:'测试活动5',pId:'02'},{id:'0221',label:'测试活动6',pId:'022'},{id:'0222',label:'测试活动7',pId:'022'},{id:'0223',label:'测试活动6',pId:'022'},{id:'0224',label:'测试活动7',pId:'022'},{id:'0225',label:'测试活动6',pId:'022'},{id:'0226',label:'TestActivity7',pId:'022'},]我们会在检查元素文档时看到我想使用他们的插件-像这样的数据格式[{id:4,label:'secondary1-1',children:[{id:9,label:'third-level1-1-1'},{id:10,label:'Level1-1-2'}]}]},{id:2,label:'Level2',children:[{id:5,label:'Level2-1'},{id:6,label:'Level2-2'}]},{id:3,label:'Level3',children:[{id:7,label:'中学3-1'},{id:8,label:'中学3-2'}]}]然后我们要对数据进行处理,先去js代码//循环出parentnodeexportfunctiontoTreeData(data,id,pid,name){//构建树结构,需要定义一个最顶层的父节点,pId为1letparent=[];对于(leti=0;i