久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

vue遞歸實現三級菜單

瀏覽:36日期: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
相關文章:
主站蜘蛛池模板: 广昌县| 崇左市| 深州市| 达拉特旗| 英超| 金华市| 内乡县| 微山县| 东兴市| 达拉特旗| 进贤县| 荔波县| 文山县| 醴陵市| 蚌埠市| 突泉县| 祁连县| 新野县| 财经| 江津市| 同江市| 哈密市| 华安县| 清原| 桦南县| 八宿县| 托克托县| 汕尾市| 墨脱县| 鸡泽县| 江西省| 双鸭山市| 苍山县| 丘北县| 金沙县| 屏边| 清水县| 精河县| 麟游县| 洪湖市| 青阳县|