不多说了,直接上方法了,自己按照方法来即可!
/* $name 通用的递归组件 $author xhcss.com @data 需要递归的数组 @parentId 递归的父级id @parentName 递归的父级的key @id 本级的key @nonull 是否删除children=[] 空的对象,默认删除 */ export function generalRecursion(data, parentId = null, parentName = "parentId", id = "id", nonull = true, childrenName = 'children') { if (!Array.isArray(data) || data.length == 0) return [] return data .filter((o) => o[parentName] == parentId) .map((v) => ((v[childrenName] = generalRecursion(data, v[id], parentName, id, nonull, childrenName)), nonull && v[childrenName] && v[childrenName].length == 0 ? delete v[childrenName] && v : v)); }