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

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

vue遞歸實現三級菜單

瀏覽:17日期: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
相關文章:
主站蜘蛛池模板: 屏南县| 澜沧| 岫岩| 平凉市| 遵义县| 北辰区| 长治市| 视频| 罗甸县| 古蔺县| 鱼台县| 桂阳县| 闻喜县| 聂荣县| 静安区| 南华县| 塔河县| 滕州市| 云安县| 晋中市| 马鞍山市| 南皮县| 凤凰县| 萨迦县| 志丹县| 绵竹市| 金川县| 云龙县| 镇远县| 罗山县| 澄迈县| 保康县| 南乐县| 桃源县| 万年县| 云和县| 普兰店市| 固安县| 汝城县| 裕民县| 肃北|