问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

筛选树形菜单时关联其父节点和子节点

发布网友 发布时间:2024-08-19 17:22

我来回答

1个回答

热心网友 时间:2024-08-22 15:34

树形菜单

在很多系统管理/菜单管理中经常会出现这样的树形菜单,它通常是通过前端的Tree组件来渲染的。

后端返回的树形结构数据如下所示。

在已有的Element、ant-vue等前端框架中这种组件都是有的,使用起来非常简单。

Ant Design Vue

问题

目前的需求是,如上图菜单搜索有两个条件,状态和菜单名称。在查询菜单时,需要通过模糊匹配菜单名称和精确匹配菜单状态来查询。这个本身很简单,但是问题在于树形菜单搜索时需要带上父菜单和子菜单,而不是只展示匹配到的菜单。

如:搜索“用户”时应该有下面的结果,在查询到相关节点后同时带上父节点和子节点返回。

Ant Design Vue在这里前端组件是有这样的实现的,如下。

前端是有这样的实现,而且很简单,那么有没有后端的实现方案呢?

如何实现

最直接的思路就是查询满足条件的菜单,然后去查这些菜单的父菜单和子菜单。虽然讲起来很容易,但是这里要注意重复节点和死循环的问题。

重复节点问题:同级菜单具有相同的父节点。在查完第一个子节点的父节点后,将父节点收集起来,查第二就没有必要了,这样可以省去。

死循环:查子节点时不要再去查其父节点的子节点和父节点,否则可能会出现死循环。

下面贴上了所有代码仅供参考。

查询菜单列表

查询菜单的父/子菜单

递归查找当前菜单的所有父菜单

递归查找当前菜单的所有子菜单

构建菜单树

基于以上后端查询树形菜单的代码就可以实现“筛选树形菜单时关联其父节点和子节点”了,效果还是可以的。

写在最后

拙作艰辛,字句心血,望诸君垂青,多予支持,不胜感激。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 日产劲客刹车油换一次多少钱 劲客刹车油多久换一次 刹车油的工作原理是什么 苹果手机横屏照片怎么变竖屏的呢? 第三年保险买哪几种合适? 苹果手机竖拍怎么变横 房产中介公司十大排名 中原地产第二,我爱我家上榜 第三者车损险赔偿范围 win10系统怎么设置任务计划程序? iphone拍照为何竖着是横着 ...的工资,但是个税已经交了,工资里没有扣,怎么做账呢 大米生虫子处理小诀窍 大米生虫子了怎么处理 美美:你是怎样区别这几个带有“青”的字的?+丽丽:;我是靠偏旁来区分的... 哪些手机照片应用能够提高照片质量? 拆迁安置房70年以后怎么办 安置房迟迟无法交付,被拆迁人能否将补偿方式变更为货币补偿? 拆迁安置房七八年没交房,该如何维权? 拆迁了8年多没有安置如何办 苹果手机怎样把照片变成横屏的啊? 拆迁六年仍然未得到安置,被征收人该如何办 智力低下的孩子能恢复吗 电脑没有usb怎么连接打印机 黑名单拦截后的短信可以收到吗? 短信被对方拉黑了,还能看到对方发的短信吗? 在终极一班里断肠人哭的像杀猪一样是哪一集啊? 鸭血汤(鸭血汤怎么做好吃) 鸭血汤怎么做好吃简单 家常鸭血汤怎么做好吃 为什么相册不能横屏 手机QQ能不能修改呢称 蛋仔派对ios和安卓不能互玩吗? 猪腰(猪肾)和茄子相克吗? 吃了茄子可以吃猪腰(猪肾)吗? 冰心说过的,关于“不经历风雨怎能见彩虹"的名言有哪些? 蛋仔派对怎么转移账号-账号转移方法 做完胆结石手术吃点什么水果好 中药五味子.枸杞子.覆盘子.车前子.菟丝子.可一起泡酒吗,有什么功效_百... 为什么苹果平板电脑上UC导航不是满屏 苹果平板进uc不满屏,已经是x1了,求解 Uc浏览器版本更新后、为何原来拍的照片上下短了一截、达不到满屏。不... 制作鸡架的教程有哪些? 香酥鸡架有哪些家常做法?