vue2.x中,将扁平的权限列表数据转换为树形结构的函数。
时间: 2024-04-15 09:32:11 浏览: 96
在 Vue 2.x 中,你可以使用以下方式将扁平的权限列表数据转换为树形结构的函数:
```javascript
function transListToTreeData(list, parentId) {
const treeData = [];
// 遍历权限列表数据
for (let i = 0; i < list.length; i++) {
const item = list[i];
// 如果当前权限的父级ID等于指定的父级ID
if (item.parentId === parentId) {
// 递归调用自身,查找当前权限的子级权限
const children = transListToTreeData(list, item.id);
// 将当前权限添加到树形数据中,并设置其子级权限
treeData.push({
...item,
children
});
}
}
return treeData;
}
```
这个函数接受两个参数:`list` 和 `parentId`。其中,`list` 是扁平的权限列表数据,`parentId` 是指定的父级ID,用于查找对应的子级权限。
函数的主要逻辑如下:
1. 创建一个空数组 `treeData`,用于存储转换后的树形结构数据。
2. 遍历权限列表数据。
3. 对于每个权限项,判断其父级ID是否等于指定的父级ID。
4. 如果相等,递归调用自身,并传入当前权限项的ID作为新的父级ID,以查找当前权限项的子级权限。
5. 将当前权限项添加到树形数据中,并设置其子级权限为递归调用的结果。
6. 返回转换后的树形数据 `treeData`。
通过这个函数,你可以将扁平的权限列表数据转换为树形结构的数据,便于在 Vue 组件中进行展示和操作。请注意,上述代码是一个示例,具体的实现可能需要根据你的权限列表数据结构进行调整。
阅读全文