Vue项目最少代码生成树形结构(无限嵌套),生成导航栏.

2023-05-16

数据 treeList

 id 必须为唯一,parentId id关联,parentId 和 id 一样就是其子目录,parentId 为null默认为第一层

this.treeList = [
    {
        "id": 1, // id,与parentId关联
        "title": "目录一",
        "parentId": null,//父级id null为第一级,与id做关联查询父子级关系
    },
    {
        "id": 2, 
        "title": "目录二",
        "parentId": 1, 
    },
    {
        "id": 3,
        "title": "目录三",
        "parentId": 2,
    }
]

方法 getTreeList()

getTreeList(id) {
      const treeList = this.treeList
      // treeList变量数据
      // 第一次以后:根据id去查询parentId相同的(相同为子数据)
      // 第一次:查找所有parentId为null的数据组成第一级
      const child = treeList.filter((item) => item.parentId == id);
      // 第一次:循环parentId为-1数组
      return child.map((item) => ({
        ...item,
        // 当前存在id(id与parentId应该是必须有的)调用getTreeList() 查找所有parentId为本id的数据
        // childs字段写入
        children: this.getTreeList(item.id),
      }));
}

调用

调用getTreeList() 传入null作为树形第一层

this.treeData = this.getTreeList(null)

结果

[
    {
        "id": 1,
        "title": "目录一",
        "parentId": null,
        "children": [
            {
                "id": 2,
                "title": "目录二",
                "parentId": 1,
                "children": [
                    {
                        "id": 3,
                        "title": "目录三",
                        "parentId": 2,
                        "children": []
                    }
                ]
            }
        ]
    }
]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue项目最少代码生成树形结构(无限嵌套),生成导航栏. 的相关文章

  • 单片机低功耗

    单片机低功耗 如何减低整个系统功耗 xff1f 从两个方面下手 xff1a 软件 xff1f 硬件 xff1f 软件 xff1a 减少外设使用 xff08 不需要的就关掉 xff09 xff0c 减低时钟频率 xff0c 尽量选择低功耗模式
  • RS485通讯---Modbus数据链路层与应用层(二)

    前言 RS485通讯 Modbus物理层 xff1a https blog csdn net qq 36883460 article details 105630712 Modbus RTU通讯协议中OSI模型 xff0c 数据链路层和应用
  • 【笔记】MySQL 5+ 相同用户的数据,取最新登记日期的那条

    需求 xff1a MySQL5 43 处理 xff0c 下面表中 xff0c 用户名相同的数据 xff0c 取最新登记日期的登记号码 表名 xff1a userinfo 用户名 username 登记号码 regis num 登记时间 re
  • STM32F4应用DMA——串口收发不定长数据

    STM32F4应用DMA 串口收发不定长数据 使用STM32自带DMA传输数据 xff0c 可以减轻CPU负担 xff0c 只需设置一些参数即可发送想要发送的数据 xff0c 以下是STM32F407VE芯片测试过的部分代码 xff0c 可
  • Kotlin-----UDP客户端网络编程代码

    一 Kotlin编程简介 Kotlin可以说是Java的进阶版本 xff0c 基本上兼容了Java所有代码 xff0c 就连网络编程与Java的方式一致 xff0c 你可以看到下边是调用Java的库去完成网络编程 二 UDP客户端网络编程代
  • mime.type文件内容

    span class token macro property span class token directive hash span span class token expression This is a comment span
  • linux线程阻塞中CPU的占用率

    linux线程阻塞中CPU的占用率 一 简介 总所周知Linux系统下 xff0c 我们编写的程序进入阻塞后 xff0c 系统把任务挂起 xff0c 交给内核进行处理 xff0c 此时我们的进程CPU占用率不高 xff0c 可以说是占用率0
  • Kotlin JSON格式解析

    Kotlin JSON解析 开发环境就是下面这个 一 添加依赖 在build gradle kts文件中添加下面依赖 dependencies span class token punctuation span span class tok
  • mysql 5.7版本查询一条数据JSON字段拆分多条

    场景 xff1a 查询出来一条数据 xff0c 其中fee items字段为json数组 xff0c 现在要把json数组拆分 xff0c 如果有多条 xff0c 则展示多行数据 xff0c 列转行 表中的数据 字段 fee items 是
  • mysql 字段json行转列

    SET FOREIGN KEY CHECKS 61 0 Table structure for keyid DROP TABLE IF EXISTS 96 keyid 96 CREATE TABLE 96 keyid 96 96 id 96
  • VisualStudio2019+PyQt5

    进入VS修改 把除了默认框选之外的 34 本机开发工具 34 选上 不选的话感觉也没什么运行上的影响 但是 import sys from PyQt5 import QtWidgets 导入PyQt5部件 导入PyQt5没问题 但是却会报一
  • 【Linux】Linux文件系统管理——文件系统常用命令

    文章目录 一 df命令 du命令 fsck命令 dumpfs命令1 1 统计文件系统信息df1 2 统计目录或文件大小du1 3 df命令和du命令的区别1 3 文件系统修复明亮fsck1 4 显示磁盘状态命令dumpe2fs 二 挂载命令
  • vue3 setup lang=“ts“ defineExpose

    vue3 setup lang 61 ts defineExpose Vue 96 span class token tag span class token tag span class token punctuation lt span
  • 关于《软件设计师教程 第5版》UML构件图两类接口描述错误的问题

    如图所示 xff0c 在备考软件设计师时 xff0c 有遇到关于 构件图 的题目 xff0c 官方给的 xff08 是供接口 xff0c O 是需接口 xff0c 就像官方教程上展示的这样 但是发现有其他人说 xff08 是需接口 xff0
  • 统计字符串中每个字母的个数 C语言

    int main char str 100 int count 26 61 0 i 61 0 printf 34 请输入字符串 n 34 gets str while str i 61 39 0 39 if str i gt 61 39 a
  • 51单片机学习笔记5 -- 外部中断

    外部中断 1 外部中断概念2 引脚功能复用3 中断号和中断类型4 外部中断编程 1 外部中断概念 外部中断是单片机实时地处理外部事件的一种内部机制 当某种外部事件发生时 xff0c 单片机的中断系统将迫使CPU暂停正在执行的程序 xff0c
  • k8s部署redis集群(方案1)

    目录 一 创建configmap 二 创建redis集群 三 集群初始化 四 验证集群省略 补充 1 如果整个 redis 集群的 pod 全部都挂掉了 xff0c pod自动拉起后 xff0c 集群不可用 xff0c 需要重建集群 2 重
  • QT5 实现UDP和串口通信

    QT5实现UDP和串口通信 前言 硬件平台 xff1a X86工控机 温湿度模块 xff1b 使用QT5编程实现X86工控机 xff08 客户端 xff09 与网络调试助手UDP通信 xff0c 同时X86工控机与温湿度模块实现串口通信 通
  • STM32单片机DMA串口数据收发

    前言 本实验是在原子哥的DMA实验的基础上进行修改 xff0c 添加了DMA串口数据接收功能 接收到指定数据时LED1的状态翻转 内附源码下载链接 xff1a 添加链接描述 注意 xff1a 在编写DMA串口数据收发时 xff0c DMA发
  • RT-Thread studio 添加CAN通信功能

    前言 最近在学习rt thread xff0c 在学习到CAN通信时遇到了一些问题 xff0c 首先就是如何注册CAN设备 发现在rt thread中 xff0c CAN 与其他的设备注册不一样 xff0c rt thread不会把CAN驱

随机推荐