deepTree.js 467 B

123456789101112131415
  1. const deepTree = {
  2. install (vue) {
  3. vue.prototype.$deepTree = menus => {
  4. if (!menus || menus.length <= 0) return
  5. let root = menus.filter(p => p.parentId === '' || p.parentId === null)
  6. const childrens = (item) => {
  7. const children = menus.filter(p => item.id === p.parentId).map(p => childrens(p))
  8. return { ...item, children }
  9. }
  10. root = root.map(p => childrens(p))
  11. return root
  12. }
  13. }
  14. }
  15. export default deepTree