树状递归方法

210 阅读1分钟

1 树形数组

<el-tree :data="dataForm" :props="defaultProps" @node-click="handleNodeClick" />
export default {
 data() {
    return {
      dataForm: [],
      defaultProps: {
        children: 'children',
        label: 'name'
      }
    }
    }
  }

2 配合递归方法将数据处理

  /* 得到处理之后的树形数据 */
  var newArr = []
  /* 1-循环数组 */
  arr.forEach((item) => {
    if (item.pid === pid) {
      /* 3-收集不是第一层的 */

      var child = toDo(arr, item.id)
      if (child.length) {
        item.children = child
      }
      // console.log(obj, 8)
      /* 2-筛选第一层 */
      newArr.push(item)
    }
  })
  // return obj
  // });
  return newArr
}