国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

vue遞歸實現三級菜單

瀏覽:13日期:2022-09-29 13:27:07

本文實例為大家分享了vue遞歸實現三級菜單的具體代碼,供大家參考,具體內容如下

父組件

<template> <div v-if='showLevelMenu'> <menu-item :menuDate='menuList'></menu-item> </div></template>

子組件

<template> <div> <div class='' v-for='(menu, index) in menuDate' :key='index'> // 每一個菜單項 <div @click='menuSpread(menu)' :class='[{’menu-row-selected’: menu.selected && menu.children.length <= 0}]'><div class='menu-row-left'> <div :class='[{’menu-selected’: menu.selected && menu.children.length <= 0}]'></div> <i :class='[menu.menuIcon, {’color-icon’: showIconColor(menu)}]'></i></div><div class='menu-row-right'> <span :class='[{’font-16’: menu.level === ’0’}]'>{{menu.menuName}}</span> <i v-if='menu.children.length <= 0'></i> <i v-if='menu.children.length>0 && !menu.selected'></i> <i v-if='menu.children.length>0 && menu.selected'></i></div> </div> // 遞歸展示菜單 <menu-item v-show='menu.selected' v-if='menu.children.length>0' :menuDate='menu.children'></menu-item> </div> </div></template><script> export default { props: { menuDate: Array }, name: ’MenuItem’, methods: { menuSpread (menu) {if (menu.menuRouter) this.$router.push(menu.menuRouter);menu.selected = !menu.selected;this.recursion(this.menuDate, menu); }, recursion (all, temp) {all.forEach(item => { if (item.menuName !== temp.menuName) { item.selected = false; this.recursion(item.children, temp); }}); }, showIconColor (menu) {let show = false;if (menu.level === ’0’) { menu.children.forEach(item => { if (item.children.length <= 0 && item.selected) { show = true; } if (item.children.length > 0) { item.children.forEach(item => {if (item.selected) { show = true;} }); } });}return show; } } };</script>

效果圖

vue遞歸實現三級菜單

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 田东县| 通河县| 通化市| 华蓥市| 襄城县| 兰州市| 和政县| 临猗县| 临城县| 重庆市| 涟水县| 南涧| 咸丰县| 海伦市| 织金县| 邵武市| 易门县| 房山区| 松阳县| 东阿县| 东方市| 冷水江市| 锡林浩特市| 花莲县| 珲春市| 鹤岗市| 武平县| 绥德县| 镇康县| 遵化市| 洪雅县| 安仁县| 元氏县| 屏东县| 富裕县| 方城县| 瑞丽市| 内江市| 鞍山市| 河南省| 长丰县|