Vue怎么结合Element-Plus封装递归组件实现目录
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇"Vue怎么结合Element-Plus封装递归组件实现目录"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获
千家信息网最后更新 2026年11月01日Vue怎么结合Element-Plus封装递归组件实现目录
这篇"Vue怎么结合Element-Plus封装递归组件实现目录"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Vue怎么结合Element-Plus封装递归组件实现目录"文章吧。
前言
如下。

没错,递归组件可以解决我这个困惑,递归无非就是自己调用自己,我们编写好合理的组件渲染逻辑之后,在组件内部自己调用自己,这就是递归组件,接下来请看我的解决步骤吧!
用正则匹配出所有的h标签并且保存在数组中
//这里的str是用MarkdownIt解析生成的html字符串 const menu = [...str.matchAll(/.* /g)]
效果如下
封装函数,将数组中的内容变成父子结构
//我的每个菜单的类型class menuItem { title: string children?: menuItem[] type: number //type为1表示是h2标签 index: number //index表示是type对应的第几个h标签 constructor( title: string, type: number, index: number, children: menuItem[] = [] ) { this.title = title this.children = children this.type = type this.index = index }}export default function (menu: any[]): any[] { //保存所有h min标签 const arr: menuItem[] = [] const arrIndex: number[] = new Array(7).fill(0) // 用于保存前一个层的结点。例如我当前遍历的是type=3的item,那么我需要知道它所属于哪个type=2的item // 如果有就添加到它的children中,如果没有就添加到pre[3]中 const pre = new Array(7).fill(null) //记录h min是哪个标签(例如h2) let minType = null for (const item of menu) { const content = item[0] const type = parseInt(content[2]) const title = content.split(/<\/?h.>/)[1] const menuitem = new menuItem(title, type, arrIndex[type]++) //判断当前type-1项有没有内容,有的话就加入到前一个种类的children中去 if (pre[type - 1]) { pre[type - 1].children.push(menuitem) } //重置当前type的项 pre[type] = menuitem minType = minType ?? type //如果是最小的h标签,就插入 if (type === minType) { arr.push(menuitem) } } return arr}转换的arr结果如下,可以看到,数组中保存了两个顶层目录,children保存了内部的子目录。

封装递归组件fold-item(在使用之前不要忘了导入自己哦)
在foldMenu中使用递归组件
使用效果
更复杂的目录结构也能胜任
以上就是关于"Vue怎么结合Element-Plus封装递归组件实现目录"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
组件
递归
内容
目录
标签
封装
就是
数组
效果
文章
步骤
知识
篇文章
结构
复杂
最小
困惑
接下来
两个
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
互联网 科技
互联网 科技公司
世界互联网领先科技成果
艾特科技互联网
深圳齐家互联网科技
无线互联网科技
互联网金融 科技创新
互联网高科技股票
科技大学互联网专业好不好
互联网科技公司的市场部门
江苏南京365互联网科技
互联网科技热点资讯
福建科技产业互联网发展
互联网科技公司实习生
辽宁互联网新科技
吉林省码上互联网科技电话
中国互联网公司的科技投入
科技互联网公司两年变化
宁波允成互联网科技有限公司
金融科技还是互联网
互联网科技未来
互联网科技集团
宜安科技 互联网金融
金融科技与互联网金融相同和不同
佳云科技和互联网广告
中国互联网有什么科技
深圳无忧互联网科技
米泉互联网科技专业怎么样
互联网科技大会大佬