首页 > 其他分享 >通过子树 id 查询所有父级

通过子树 id 查询所有父级

时间:2024-07-24 10:41:41浏览次数:15  
标签:node 子树 父级 findParentTree item parentId type id

思路:向上查找父级树

    loopTreeFindChecked(node) {
      const findParentTree = (data, parentId) => {
        if (!data) return;

        data.forEach(item => {
          if (item.id === parentId) {
            this.checkedTreeList.unshift({ id: parentId, name: item.name, type: item.type });

            if (item.parentId > 0) {
              findParentTree(this.treeList, item.parentId);
            }
          } else {
            findParentTree(item.children, parentId);
          }
        });
      };

      this.checkedTreeList = [{ id: node.id, name: node.name, type: node.type }];
      if (node.parentId > 0) findParentTree(this.treeList, node.parentId);
    }

image

标签:node,子树,父级,findParentTree,item,parentId,type,id
From: https://www.cnblogs.com/c0lmd0wn/p/18320324

相关文章

  • 【超实用攻略】SpringBoot + validator 轻松实现全注解式的参数校验
    一、故事背景关于参数合法性验证的重要性就不多说了,即使前端对参数做了基本验证,后端依然也需要进行验证,以防不合规的数据直接进入服务器,如果不对其进行拦截,严重的甚至会造成系统直接崩溃!本文结合自己在项目中的实际使用经验,主要以实用为主,对数据合法性验证做一次总结,不了解的朋......
  • 云端IDE如何重定义开发体验
    豆包MarsCode是一个集成了AI功能的编程助手和云端IDE,旨在提高开发效率和质量。它支持多种编程语言和IDE,提供智能代码补全、代码解释、单元测试生成和问题修复等功能,同时具备AI对话视图和开发工具。豆包MarsCode豆包MarsCode编程助手支持的IDE:支持VisualStudioCode1......
  • Python 检测 USB 设备 - IDLE 和 CMD 解释器之间的不同结果
    我正在尝试解决VDI解决方案中智能卡设备的USB重定向问题。我正在使用pyscard模块作为智能卡。对于进一步的上下文,主要问题是当浏览器插件调用用于处理智能卡的python脚本时,未检测到读卡器。关于问题,当我从CMD解释器运行此代码片段时,我收到空列表,表示系统上未找......
  • Toga 应用程序图标在 Android 上不显示:如何修复?
    我正在使用Toga开发Android应用程序,并为该应用程序设置了图标,但它无法正确显示。这是我所做的:放置图标文件:我的项目的资源目录中有一个PNG图标文件(F.png)。更新了main函数:我在main函数中指定了图标路径为icon='resources/F.png'。构建应用程序:我运行了Briefc......
  • SQLAlchemy AttributeError:“表”对象在以前运行的模型中没有属性“id”
    我有一个烧瓶应用程序工厂应用程序,其中包含大量模型和视图。一切都工作正常,直到我将某些模块更改为backref以跟上时代的步伐。突然,应用程序无法工作,因为我在不同的模块中收到sqlalchemy属性错误,甚至在用户模块中,而这些模块根本没有被触及。(见下文。)back_populat......
  • JavaSE异常、今日面试题,解决git合并失败的终极篇!!!若以框架报错Invalid bound statement
    20240723一、JavaSE异常二、今日面试题三、解决git无法合并推送问题(终极篇!!!)1.直接把你写的复制出来,然后输入git命令1.1.解决办法一:保留本地的更改,中止合并->重新合并->重新拉取1.2解决办法二:舍弃本地代码,远端版本覆盖本地版本(慎重)2.然后复制回来,然后再合并推......
  • FLV(Flash Video)
    FLV(FlashVideo)是一种用于通过互联网传输视频和音频的文件格式。以下是对FLV文件格式的详细讲解:1.FLVHeaderFLV文件头部包含文件的基本信息,是文件的开头部分,通常占据9个字节。其结构如下:Signature(3bytes):表示文件类型,固定为"FLV"。Version(1byte):表示FLV文件版本,......
  • mybatisPlus3.4 自定义sqlSessionFactory sql注入器失效、mybatis-plus批量插入报错In
    文章目录一、报错背景二、解决方法在mybatis-plus项目中集成自定义批量插入方法后报错。以下整理一下报错及解决方法。一、报错背景mybatis-plus是不提供insertList批量插入方法的,本人在自定义批量插入方法后,启动时正常,但是执行到insertList时报错。org.apache.i......
  • ESP32-S3-IIS编译报错 ‘I2S_TIMING_REG‘ was not declared in this scope; did you m
    记录编译报错及解决方法'I2S_TIMING_REG'wasnotdeclaredinthisscope;didyoumean'I2S_TX_TIMING_REG'?1,编译串口打印的报错信息见第2项。主要是:‘I2S_TIMING_REG’wasnotdeclaredinthisscope;didyoumean‘I2S_TX_TIMING_REG’?中文意思:“I2S_......
  • 从零开始学Java(超详细韩顺平老师笔记梳理)08——面向对象编程中级(上)IDEA常用快捷键、包
    文章目录前言一、IDEA使用常用快捷键模板/自定义模板二、包package1.基本介绍2.包的命名规范3.常用的包和如何引入4.注意事项和细节三、访问修饰符(四类)四、封装Encapsulation(重点)1.封装介绍2.封装步骤3.快速入门4.封装与构造器五、继承(重点)1.为什么需要继承2......