站長資訊網
最全最豐富的資訊網站

vue+iview框架實現左側動態菜單功能的示例

vue+iview框架實現左側動態菜單功能的示例

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

相關學習推薦:javascript教程

注意事項:

【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>  <p 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>  </p>      </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框架實現左側動態菜單功能的示例

相關學習推薦:編程視頻

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
日韩精品久久久肉伦网站| 精品福利资源在线| 久久精品aⅴ无码中文字字幕重口| 国产乱人伦app精品久久| 国产精品vⅰdeoxxxx国产| 国产精品日韩一区二区三区| 久久九九有精品国产23百花影院| 国产精品99久久久久久| 久久er热视频在这里精品| 国产成人精品午夜视频'| 全球AV集中精品导航福利| 日韩在线免费播放| 国产精品毛片久久久久久久| 亚洲国产精品成人久久蜜臀| 麻豆精品在线播放| 久久99热狠狠色精品一区| 日韩亚洲人成在线| 7777精品久久久大香线蕉| 国产精品久久久久三级| 久久精品国产亚洲AV嫖农村妇女| 亚洲精品成人在线| 久久精品国产亚洲av高清漫画| 国产日韩精品一区二区三区 | 99爱在线精品视频网站| 国产韩国精品一区二区三区| 国产精品毛片大码女人| 97精品在线观看| 国产亚洲午夜高清国产拍精品 | 国产精品女在线观看| 久久国产精品只做精品| 亚洲精品国精品久久99热| 精品国产乱码久久久久久人妻 | 无码欧精品亚洲日韩一区| 国产人妻777人伦精品hd| 亚洲AV日韩精品久久久久| 成人区人妻精品一区二区不卡视频 | 拍国产乱人伦偷精品视频| 中文字幕精品无码一区二区三区| 精品99在线观看| 日韩无码系列综合区| 日韩久久精品一区二区三区|