Vue实现侧边菜单栏手风琴效果实例代码


Posted in Javascript onMay 31, 2018

效果图如下所示:

Vue实现侧边菜单栏手风琴效果实例代码

Vue实现侧边菜单栏手风琴效果实例代码

<template> 
  <div class="asideBox"> 
   <aside> 
    <ul class="asideMenu"> 
     <li v-for="(item,index) in menuList"> 
      <div class="oneMenu" @click="showToggle(item,index)"> 
       <img v-bind:src="item.imgUrl" /> 
       <span>{{item.name}}</span> 
      </div> 
      <ul v-show="item.isSubShow"> 
       <li v-for="subItem in item.subItems"> 
        <div class="oneMenuChild">{{subItem.name}}</div> 
       </li> 
      </ul> 
     </li> 
    </ul> 
   </aside> 
  </div> 
</template>
export default { 
  data(){ 
   return{ 
    menuList:[ 
     { 
      name:'字符录入', 
      imgUrl:require('../assets/images/icon-character.png'), 
      isSubShow:false, 
      subItems:[ 
       { 
        name:'字符录入' 
       }, 
       { 
        name:'白话文录入' 
       }, 
       { 
        name:'文言文录入' 
       }, 
       { 
        name:'小写数字录入' 
       } 
      ] 
     }, 
     { 
      name:'票据数据录入', 
      imgUrl:require('../assets/images/icon-bill.png'), 
      isSubShow:false, 
      subItems:[ 
       { 
        name:'票据录入' 
       }, 
       { 
        name:'翻打传票' 
       }, 
      ] 
     }, 
     { 
      name:'交易码录入', 
      imgUrl:require('../assets/images/icon-transaction.png'), 
      isSubShow:false, 
      subItems:[ 
       { 
        name:'交易码录入' 
       }, 
       { 
        name:'交易名称录入' 
       }, 
      ] 
     }, 
     { 
      name:'操作码录入', 
      imgUrl:require('../assets/images/icon-operation.png'), 
      isSubShow:false, 
      subItems:[ 
       { 
        name:'操作码录入' 
       }, 
       { 
        name:'操作名称录入' 
       }, 
      ] 
     }, 
     { 
      name:'票据学习', 
      imgUrl:require('../assets/images/icon-billearn.png'), 
      isSubShow:false, 
      subItems:[ 
      ] 
     }, 
     { 
      name:'内部凭证学习', 
      imgUrl:require('../assets/images/icon-voucher.png'), 
      isSubShow:false, 
      subItems:[ 
      ] 
     }, 
     { 
      name:'现金管理学习', 
      imgUrl:require('../assets/images/icon-cash.png'), 
      isSubShow:false, 
      subItems:[ 
      ] 
     }, 
    ] 
   } 
  }, 
  methods:{ 
   // 点击展开折叠菜单事件 
   showToggle:function(item,ind){ 
    this.menuList.forEach(i => { 
     // 判断如果数据中的menuList[i]的show属性不等于当前数据的isSubShow属性那么menuList[i]等于false 
     if (i.isSubShow !== this.menuList[ind].isSubShow) { 
      i.isSubShow = false; 
     } 
    }); 
    item.isSubShow = !item.isSubShow; 
    console.log(item.name) 
   }, 
  } 
 }
<style lang="scss" scoped> 
 $menuBackColor:#f1f1f1; 
 $menuListH2:#8fbfef; 
 .asideBox{ 
  height: 100%; 
  width: 300px; 
  aside{ 
   background: $menuBackColor; 
   height: 100%; 
   .asideMenu{ 
    .oneMenu{ 
     height: 50px; 
     line-height: 50px; 
     font-size: 18px; 
     font-weight: normal; 
     color: #ffffff; 
     background: $menuListH2 url("../assets/images/icon-open.png") no-repeat 280px center; 
     border-bottom: 1px solid #669cd9; 
     img{ 
      width: 20px; 
      height: 20px; 
      margin: 15px 16px 15px 20px; 
      vertical-align: top; 
     } 
    } 
    .oneMenuChild{ 
     padding: 0 20px 0 60px; 
     height: 40px; 
     line-height: 40px; 
     background: $menuBackColor; 
     border-bottom: 1px solid #ffffff; 
     color: #454343; 
     font-size: 18px; 
    } 
   } 
  } 
 } 
</style>

总结

以上所述是小编给大家介绍的Vue实现侧边菜单栏手风琴效果实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
json的前台操作和后台操作实现代码
Jan 20 Javascript
setTimeout的延时为0时多个浏览器的区别
May 23 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
JavaScript 正则表达式中global模式的特性
Feb 25 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
Apr 12 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
Apr 21 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 Javascript
node.js到底要不要加分号浅析
Jul 11 Javascript
判断iOS、Android以及PC端的示例代码
Nov 15 Javascript
在vue-cli中引入lodash.js并使用详解
Nov 13 Javascript
原生js实现表格翻页和跳转
Sep 29 Javascript
微信小程序实现底部弹出框
Nov 18 Javascript
Node.js笔记之process模块解读
May 31 #Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 #Javascript
用JS实现根据当前时间随机生成流水号或者订单号
May 31 #Javascript
Vue2 轮播图slide组件实例代码
May 31 #Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
May 31 #Javascript
JavaScript 中的12种循环遍历方法【总结】
May 31 #Javascript
Vue 让元素抖动/摆动起来的实现代码
May 31 #Javascript
You might like
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
用JavaScript页面不刷新时全选择,全删除(GridView)
2009/04/14 Javascript
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
微信小程序实现轮播图效果
2017/09/07 Javascript
php中and 和 &amp;&amp;出坑指南
2018/07/13 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
Python中IPYTHON入门实例
2015/05/11 Python
Python3实现从指定路径查找文件的方法
2015/05/22 Python
python使用super()出现错误解决办法
2017/08/14 Python
Django实现将views.py中的数据传递到前端html页面,并展示
2020/03/16 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
Python利用matplotlib绘制折线图的新手教程
2020/11/05 Python
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
Eclipse面试题
2014/03/22 面试题
二年级评语大全
2014/04/23 职场文书
信息工作经验交流材料
2014/05/28 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
员工福利申请报告
2015/05/15 职场文书
提档介绍信范文
2015/10/22 职场文书
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS