js文件:
参数介绍( data 数据源,id 默认id, parentId 父节点id,children 子节点,rootId 根ID默认0 )
export function handleTree(data, id, parentId, children, rootId) {
id = id || "id"
parentId = parentId || "parentId"
children = children || "children"
rootId = rootId || Math.min.apply(Math, data.map(item => item[parenId])) || 0
const cloneData = JSON.parse(JSON.stringify(data))
const treeData = cloneData.filter(father => {
let baranchArr = cloneData.filter(child => father[id] === child[parentId]);
branchArr.length > 0 ? father.children = branchArr : "";
return father[parentId] === rootId;
});
return treeData != "" ? treeData : data:
}
main.js文件:
import { handleTree } from @/..
Vue.prototype.handleTree = handleTree
vue文件:
this.handleTree(data, id)
构造树形结构数据(转化)
最新推荐文章于 2024-07-10 23:34:51 发布