c79d41513f7c527e2542e19c5508d70d0be5be2f.svn-base 783 B

12345678910111213141516171819202122232425262728
  1. //格式化树形数据
  2. export function getTrees(list, pId) {
  3. let items = {};
  4. // 获取每个节点的直属子节点,*记住是直属,不是所有子节点
  5. for(let i = 0; i < list.length; i++) {
  6. let key = list[i].parentId ? list[i].parentId : list[i].pid;
  7. if(items[key]) {
  8. items[key].push(list[i]);
  9. } else {
  10. items[key] = [];
  11. items[key].push(list[i]);
  12. }
  13. }
  14. console.log(items)
  15. return formatTree(items, pId);
  16. }
  17. /**利用递归格式化每个节点**/
  18. export function formatTree(items, pId) {
  19. let result = [];
  20. if(!items[pId]) {
  21. return result;
  22. }
  23. for(let t of items[pId]) {
  24. t.children = formatTree(items, t.id)
  25. result.push(t);
  26. }
  27. return result;
  28. }