当前位置:网站首页>编辑时过滤当前节点及根据限制的层数过滤数据
编辑时过滤当前节点及根据限制的层数过滤数据
2022-07-31 05:20:00 【前端备忘录】
判断当前树节点深度
getTreeDeep(treeData) {
let arr = [];
arr.push(treeData);
let depth = 0;
while (arr.length > 0) {
let temp = [];
for (let i = 0; i < arr.length; i++) {
temp.push(arr[i]);
}
arr = [];
for (let i = 0; i < temp.length; i++) {
if (temp[i].children && temp[i].children.length > 0) {
for (let j = 0; j < temp[i].children.length; j++) {
arr.push(temp[i].children[j]);
}
}
}
if (arr.length >= 0) {
depth++;
}
}
return depth;
},
过滤当前节点
filterCurNode(data,id){
let result ;
if(id) result = data.filter(item => item.id !== id);
else result = data;
return result;
},
标题
let level = 5;//树限制的层级数
setTreeNode(data, currentLevel, limitLevel, id) {
const vm = this;
currentLevel = currentLevel + 1;
return vm.filterCurNode(data,id).map(item => {
item.children = item.children && item.children.length && currentLevel < level -limitLevel ? vm.setTreeNode(item.children, currentLevel, limitLevel,id) : [];
return item
});
},
用法
this.setTreeNode(this.treeInfo, 0 , this.getTreeDeep(info),info.id)
其中 this.treeInfo 整棵树的数据;info 为当前选中树节点数据
边栏推荐
猜你喜欢
随机推荐
力扣.有效的字母异位词
三本毕业,中途转行软件测试,顶着这些光环从月薪7k干到20k+,感觉还不错
a:自我介绍
关于网络安全法的个人理解
可下载视频可下载图片的函数
APP测试:测试流程及常规测试内容
DOM操作-事件的绑定与解绑
软链接和硬链接画图,以及代码,一级目录的解释,重定向,创建文件,删除文件,创建目录,删除目录,cp、mv命令的使用
滑动窗口法
mobaxterm 编码问题解决
MySQL官网8.0.17 安装教程(适合离线安装)
递归访问目录,定义嵌套函数,打印斐波那契数列,对列表进行排序,map函数计算列表,filter函数过滤,reduce计算1~100的和
C语言对文件的操作(完整版)
TCP与UDP协议的区别,以及TCP的三次握手和四次挥手
堆和栈的区别
Debian 10 配置网卡,DNS,IP地址
client
数据库/表的基本操作
多线程截取视频为每帧
C语言静态变量static









