一、后端处理
1、编辑
后端处理树形结构比较消耗服务器。对编辑这样的操作
建议在保证原有业务逻辑的情况下直接将老的树删掉,重新添加个即可。
2、查询的时候
后端其实可以查询所有的值给到前端,前端可以根据parentId来递归生成一颗树就行了。
二、前端工具+组件处理
以AntDev为例子,当数组中含有Children的子数组时,就可以使用组件自动生成一棵树了。
前端工具如下
/**
* 使用递归将数组转为树形结构
* 父ID属性为parent
*/
public static array2Tree(array: any, parentId: number) {
if (Tool.isEmpty(array)) {
return [];
}
const result = [];
for (let i = 0; i < array.length; i++) {
const c = array[i];
console.log(Number(c.parentId), Number(parentId));
if (Number(c.parentId) === Number(parentId)) {
result.push(c);
// 递归查看当前节点对应的子节点
const children = Tool.array2Tree(array, c.id);
if (Tool.isNotEmpty(children)) {
c.children = children;
}
}
}
return result;
}
===================》甲乙Rocket ;2022.08.28; 22年8月第四周