中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue+iview框架如何實現左側動態菜單功能

發布時間:2020-07-23 14:05:46 來源:億速云 閱讀:221 作者:小豬 欄目:開發技術

小編這次要給大家分享的是vue+iview框架如何實現左側動態菜單功能,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

最近在使用vue-cli3配合iview框架搭建新的項目中用到了iview中的menu菜單,按照官網寫法固定不太好,因為一般項目都是從后端動態獲取菜單列表,所以我們需要將官網代碼稍作修改,代碼如下:

注意事項:

【1】菜單高亮部分動態綁定路由跳轉的頁面

Menu組件中有一個active-name反映的是當前高亮區域,因此可以動態的綁定active-name來實現高亮顯示。前提是需要將MenuItem綁定的name也設置成頁面路由的name

vue+iview框架如何實現左側動態菜單功能

【2】動態獲取菜單數據,需要更新菜單

 this.$nextTick(() => {
  	this.$refs.side_menu.updateOpened()
    	this.$refs.side_menu.updateActiveName()
   });

代碼:

<template>
 <div class="leftNav">
  <Menu ref="side_menu" theme="dark" accordion v-for="(menuItem, menuIndex) in menuList" :key="menuIndex" :active-name="$route.name">
 
   <!-- 展開沒有子菜單 -->
   <MenuItem v-if="!menuItem.children || menuItem.children.length==0" :key="menuIndex" :name="menuItem.to" :to="menuItem.to">
    <Icon :type="menuItem.icon" />
    <span>{{ menuItem.name }}</span>
   </MenuItem>
 
   <!-- 展開有子菜單 -->
   <Submenu v-else :name="menuIndex">
     <template slot="title">
       <Icon :type="menuItem.icon" />
       <span>{{menuItem.name}}</span>
     </template>
     <MenuItem v-for="(item, index) in menuItem.children" :key="index" :name="item.to" :to="item.to">{{item.name}}</MenuItem>
   </Submenu>
  </Menu>
 </div> 
      
</template>
<script>
export default {
 data() {
  return {
   menuList: [
    {
     name: "首頁",
     to: "home",
     icon: "ios-archive-outline"
    },
    {
     name: "關于",
     to: "about",
     icon: "ios-create-outline"
    },
    {
     name: "菜單分類1",
     icon: "md-person",
     children: [
      {
       name: "用戶",
       to: "user"
      }
     ]
    },
    {
     name: "菜單分類2",
     icon: "ios-copy",
     children: [
      {
       name: "測試",
       to: "test"
      }
     ]
    }
   ]
  };
 },
 created() {
  // 數據我先寫靜態的,可在初始化的時候通過請求,將數據指向menuList。
  // ajax成功回調后 this.menuList = response.data;
  // 別忘記更新菜單
  // this.$nextTick(() => {
  //	this.$refs.side_menu.updateOpened()
  //	this.$refs.side_menu.updateActiveName()
  //});
 }
};
</script>
<style lang="scss" scoped>
/deep/
 .ivu-menu-dark.ivu-menu-vertical
 .ivu-menu-item-active:not(.ivu-menu-submenu) {
 border-right: none;
 color: #fff;
 background: #2d8cf0 !important;
}
</style>

效果圖:

vue+iview框架如何實現左側動態菜單功能

看完這篇關于vue+iview框架如何實現左側動態菜單功能的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

手游| 大埔区| 旺苍县| 长岭县| 集贤县| 新干县| 淮滨县| 苗栗县| 天台县| 潼南县| 股票| 乌拉特前旗| 霸州市| 信阳市| 天峨县| 察隅县| 于田县| 健康| 乌拉特中旗| 隆昌县| 永州市| 老河口市| 道真| 闻喜县| 唐海县| 鹤庆县| 邵阳市| 阳原县| 宣汉县| 辽宁省| 策勒县| 广东省| 搜索| 玉山县| 灯塔市| 凤冈县| 巍山| 红安县| 柞水县| 德惠市| 浙江省|