使用vue+element创建三级导航

废话不多说 直接上代码

HTML

<template>
    <div>
        <el-menu 
        class="el-menu-demo" 
        mode="vertical" 
        @select="handleSelect" 
        @click='enter()'
        @mouseout='leave'
        :unique-opened='true'>
            <div v-for="(firstItem,firstIndex) in list" :key="'first'+firstIndex">
                  <!--el-submenu 为菜单列表,含有箭头,在children.length大于0的时候使用-->
                <el-submenu :index="firstItem.path" v-if="firstItem.children&&firstItem.children.length!==0">
                <template slot="title"><i :class="firstItem.icon"></i><span>{{firstItem.name}}</span></template>
                    <div v-for="(secondItem,secondIndex) in firstItem.children" :key="'second'+secondIndex">
                            <el-submenu v-if="secondItem.children&&secondItem.children.length!==0" :index="secondItem.path">
                            <template slot="title">{{secondItem.name}}</template>
                                <!-- 因为三级菜单下面没有四级所以不需要if判断这样的话就不用再套上一层div -->
                                <el-menu-item
                                :index="thirdItem.path"
                                iscustom="true"
                                v-for="(thirdItem,thirdIndex) in secondItem.children"
                                :key="'third'+thirdIndex"
                                @mouseout.native="aac()"
                                @click="goPath(thirdItem.path,thirdItem.name)">
                                <template slot="title">{{thirdItem.name}}</template>
                                </el-menu-item>
                            </el-submenu>

                            <el-menu-item
                                    :index="secondItem.path"
                                    v-else
                                    @click="goPath(secondItem.path,secondItem.name)">
                            <template slot="title">{{secondItem.name}}</template>
                            </el-menu-item>
                    </div>
                </el-submenu>
                  <!--在children.length等于0时,使用不带箭头的菜单-->
                <el-menu-item :index="firstItem.path"  @click="goPath(firstItem.path,firstItem.name)" v-else>
                    <template slot="title"><i class="el-icon-delete"></i>{{firstItem.name}}</template>
                </el-menu-item>
            </div>
        </el-menu>
    </div>
</template>

JS

    export default {
        name: 'ProductCenter',
        data() {
            return {
                isCollapse: true,
                mode: 'horizontal',
                menuDoms: [],
                list: [
                    {
                        path: "/index",
                        name: "首页",
                        icon: 'el-icon-menu',
                    },
                    {
                        path: "/index110",
                        name: "导航666",
                        icon: 'el-icon-menu',
                        children: [
                            {
                                path: "/index110-1",
                                name: "666-1",
                                children: [
                                    {
                                        path: "/TransportVehicle",
                                        name: "导航1-1",
                                    },
                                    {
                                        path: "/ProductCenter",
                                        name: "导航1-2",
                                    },
                                    {
                                        path: "/6-3",
                                        name: "导航1-3",
                                    }
                                ]
                            },
                            {
                                path: "/index112",
                                name: "666-2",
                            }
                        ]
                    },
                ]

            }
        }
  }        

记得router目录配置好哦 否则会报错

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值