zoukankan      html  css  js  c++  java
  • element UI 导航栏根据路径来确定默认选中

     1 <template>
     2   <el-menu :default-active="activedMenu($route.path)" class="el-menu-vertical-demo padding-top-10" @open="handleopen" @close="handleclose" @select="handleselect"
     3            unique-opened router>
     4     <template v-for="(item,index) in navData" :index="index+''" v-if="item.role">
     5       <el-submenu :index="index+''" v-if="item.panels.length > 0">
     6         <template slot="title"><i :class="item.icon"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>{{item.name}}</template>
     7         <el-menu-item-group v-for="panels in item.panels" :index="panels.name" :key="panels.name" v-if="panels.role">
     8           <el-menu-item v-if="panels.menu.length == 0" :index="panels.url" ><i :class="panels.icon"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>{{panels.name}}</el-menu-item>
     9           <el-submenu v-else :index="panels.name">
    10             <template slot="title"><i :class="panels.icon"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>{{panels.name}}</template>
    11             <el-menu-item v-for="menu in panels.menu" :index="menu.url" :key="menu.url" v-if="menu.limit">
    12               <i class="nav-radius"></i>{{ menu.name }}
    13             </el-menu-item>
    14           </el-submenu>
    15         </el-menu-item-group>
    16       </el-submenu>
    17       <el-menu-item v-else :index="item.url"><i :class="item.icon"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i>{{item.name}}</el-menu-item>
    18     </template>
    19   </el-menu>
    20 
    21 </template>

    el-submenu或者el-menu-item的index设置成路由对应的字符串,也是根据路由选择左侧导航栏,但是路由可能有不固定的参数,那就根据固定的参数来判断选择哪一项:

     1 activedMenu: function (val) {
     2   if (val.indexOf('/project') == 0) {
     3     return '/project/'
     4   } else if (val.indexOf('/alarm') == 0) {
     5     return '/alarm/'
     6   } else if (val.indexOf('/backup') == 0) {
     7     return '/backup/'
     8   } else if (val.indexOf('/sites_monitor') == 0) {
     9     return '/sites_monitor/'
    10   } else if (val.indexOf('/security_group') == 0) {
    11     return '/security_group/'
    12   } else if (val.indexOf('/lbaas') == 0) {
    13     return '/lbaas/'
    14   } else if (val.indexOf('/rule') == 0) {
    15     if (val.indexOf('/user') > -1) {
    16       return '/user/'
    17     } else {
    18       return '/user_group/'
    19     }
    20   } else if (val.indexOf('/create_page') == 0) {
    21     if (val.indexOf('/instance') > -1) {
    22       return '/instances/'
    23     } else if (val.indexOf('/images') > -1){
    24       return '/image/'
    25     } else if (val.indexOf('/snapshot') > -1){
    26       return '/snapshot/'
    27     } else if (val.indexOf('/profile') > -1){
    28       return '/ess_profile/'
    29     }
    30   } else if (val.indexOf('/monitor_detail') == 0) {
    31     if (val.indexOf('/instances') > -1) {
    32       return '/instances/'
    33     } else {
    34       return '/hypervisors/'
    35     }
    36   } else {
    37     return val
    38   }
    39 },
  • 相关阅读:
    UVA657 The die is cast(DFS、BFS)
    三分
    【洛谷P6105】iepsmCmq
    【CF613D】Kingdom and its Cities
    【洛谷P4294】游览计划
    【洛谷P3500】TESIntelligence Test
    【洛谷P6189】[NOI Online 入门组] 跑步
    【洛谷P2973】Driving Out the Piggies
    【洛谷P3164】和谐矩阵
    【洛谷P4161】游戏
  • 原文地址:https://www.cnblogs.com/mxyr/p/9239349.html
Copyright © 2011-2022 走看看