正式学习前端2周左右,今天遇到了需要使用el-tree树形结构的情况,而其中data的输入数据格式后端给的并不规律。

通过遍历接口的Json返回,需要的数据都可以拿到,但是如何拼凑成data可以接受的树形结构仍然花了我很长时间。

最终运气好发现了先将数据构造成Json再转换回来的简单方法,以下例子仅处理了一层数据的情况,多层数据可以使用递归,我将继续研究。构造过程如下

for (var i = 0,id,label,jsonMap=[],jsonTree=[];i < res.length;i++){
  id = res[i]["id"];
  label = rest[i]["shopFiled"];
  jsonMap = {id, label,"children":[]};
  jsonTree.push(jsonMap);
}

this.allFieldList = JSON.parse(JSON.stringify(jsonTree))

关键点1:构造Json的时候Json会自动将变量转化为键值对,比如id=1,转化后就是id:1

关键点2:构造成Json之后再用Json.pase转换回来,数据就可以被el-tree读取了

Logo

前往低代码交流专区

更多推荐