当前位置: 首页 > news >正文

vue递归获取树形菜单

文章目录

  • 前言
    • 什么是递归?
  • 一、数据集
  • 二、 递归函数
  • 三、打印树形结构展示


前言

什么是递归?

程序调用自身的编程技巧称为递归( recursion)。
递归 粗略的理解为 循环 ,只不过 递归 是调用自身。
在实际使用中,需要给递归设置一个边界条件,用该边界条件来判断是否继续递归下去。
如果不设置判断条件,将会导致 无限递归 ,也就是 死循环!


请添加图片描述

提示:以下是本篇文章正文内容,下面案例可供参考


一、数据集

直接在setup定义该数组

//数据随便写的,不符合实际情况,因为懒得改const cityList = [{name: "金水区", value: "111",id:'1',pid:null},{name: "管城区", value: "222",id:'1-2',pid:'1'},{name: "惠济区", value: "458",id:'2',pid:null},{name: "二七区", value: "445",id:'2-1',pid:'2'},{name: "新郑市", value: "456",id:'2-2',pid:'2'},{name: "荥阳市", value: "647",id:'2-3',pid:'2'},{name: "巩义市", value: "189",id:'3',pid:null},{name: "经开区", value: "664",id:'3-1',pid:'3'},{name: "郑东区", value: "652",id:'3-2',pid:'3'},{name: "航空港区", value: "732",id:'3-3',pid:'3'},{name: "郑州市", value: "852",id:'3-3-1',pid:'3-3'},];

二、 递归函数

直接在setup定义该函数,然后onMounted钩子自动调用或根据需要手动调用该函数

    function getMenuTree(menuList, pid) {let treeList = [];for (let i = 0; i < menuList.length; i++) {let menu = menuList[i];if (menu.pid === pid) {let tree = {id: menu.id,name: menu.name,children: getMenuTree(menuList, menu.id)};tree.children.length === 0 && delete tree.children;treeList.push(tree);}}return treeList;}

三、打印树形结构展示

在这里插入图片描述

http://www.lryc.cn/news/220888.html

相关文章:

  • [ubuntu]ubuntu22.04默认源和国内源
  • Map和ForEach的区别,For in和For of的区别
  • json字符串属性名与实体类字段名转换
  • Vue Vuex模块化编码
  • 消费者忠诚度研究:群狼调研帮您制定忠诚客户计划
  • 接口幂等性详解
  • Java操作redis常见类型数据存储
  • 【深度学习】pytorch——Autograd
  • 【ARM 安全系列介绍 1 -- 奇偶校验与海明码校验详细介绍】
  • 分享34个发布商会PPT,总有一款适合您
  • 047_第三代软件开发-日志分离
  • ChinaSoft 论坛巡礼 | 系统与网络安全论坛
  • Ubuntu Gitlab安javascript:void(‘numberedlist‘)装
  • 11.4-GPT4AllTools版本已开始对小部分GPT3.5用户内测推送
  • 竞赛选题 深度学习手势检测与识别算法 - opencv python
  • 语言模型AI——聊聊GPT使用情形与影响
  • 浅谈事件冒泡和事件捕获
  • CSS 背景、文本、字体
  • 爬取Elastic Stack采集的Nginx内容
  • python 机器学习 常用函数
  • 手写操作系统篇:环境配置
  • 地理信息系统原理-空间数据结构(7)
  • 三国志14信息查询小程序(历史武将信息一览)制作更新过程03-主要页面的设计
  • 学习Opencv(蝴蝶书/C++)相关——2.用clang++或g++命令行编译程序
  • 【Unity细节】VS不能附加到Unity程序中解决方法大全
  • 线上 kafka rebalance 解决
  • [100天算法】-第一个错误的版本(day 62)
  • React 学习系列: 类组件生命周期方法
  • Flume从入门到精通一站式学习笔记
  • Python150题day08