element-ui的el-table可以显示树形数据,不过对数据格式有要求,只有带children属性的行才能树形展开和收起,假设原始数据是json列表,数据已经按colx排序,我们希望在el-table中同colx值得只显示一条,有多条数据的可以树形展开和收起。下面我们用js来实现,该转换功能在node后端或者javascript前端都可以。
function tree(list){ if (list.length==0) return []; let newlist=[list[0]]; for (let i=1;iif (list[i]["colx"]===newlist[newlist.length-1]["colx"]) { if (newlist[newlist.length-1]["children"]==undefined) { newlist[newlist.length-1]["children"]=[list[i]] } else { newlist[newlist.length-1]["children"].push(list[i]); } } else { newlist.push(list[i]); } } return newlist; }