element使用tabs+navmenu完成后台首页菜单导航联动

博客介绍了使用Vue实现菜单与Tabs嵌套组件的功能。开启el-menu的router模式,根据官网结构改造菜单,配置菜单项路由。右侧内容区用tabs嵌套动态组件,监听路由变化切换子组件页面,还介绍了tab点击、一级菜单展开及tab删除的监听处理。

首先上图给大家看看实现效果:

然后直接上核心代码:

      <!-- 左侧菜单栏 -->
      <div class="aside">
        <el-menu
          class="menu"
          :default-active="$route.path"
          @open="handleOpen"
          @close="handleClose"
          router
        >
          <template v-for="(item, index) in menu">
            <!-- 遍历生成菜单的时候根据对象是否有subMenu来判断是否有二级菜单,没有就直接生成一级菜单 -->
            <el-submenu
              v-if="item.subMenu"
              :index="item.subMenu[0].path"
              :key="index + '-Susuk'"
            >
              <template slot="title">
                <span slot="title">{
  
  { item.title }}</span>
              </template>
              <el-menu-item-group>
                <el-menu-item
                  v-for="item2 in item.subMenu"
                  :key="item2.id"
                  :index="item2.path"
                  >{
  
  { item2.title }}</el-menu-item
                >
              </el-menu-item-group>
            </el-submenu>
            <el-menu-item v-else :index="item.path" :key="index + '-Suk'">{
  
  {
              item.title
            }}</el-menu-item>
          </template>
        </el-menu>
      </div>
      <!-- 右侧内容区 -->
      <div class="content">
        <el-tabs
          v-model="tabsValue"
          type="card"
          closable
          @tab-remove="removeTab"
          @tab-click="tabClick"
        >
          <el-tab-pane
            v-for="item in tabs"
            :key="item.name"
            :label="item.title"
            :name="item.name"
          >
            <component :is="item.component"></component>
          </el-tab-pane>
        </el-tabs>
      </div>

首先我们要开启el-menu的router模式,这样index填写的就是我们的路由路径,点哪个菜单就会跳转到对应的路由:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值