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 相关文章推荐
让firefox支持IE的一些方法的javascript扩展函数代码
Jan 02 Javascript
IE8下String的Trim()方法失效的解决方法
Nov 08 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
Aug 16 Javascript
jQuery+jRange实现滑动选取数值范围特效
Mar 14 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
Mar 11 Javascript
10分钟掌握XML、JSON及其解析
Dec 06 Javascript
web打印小结
Jan 11 Javascript
jquery.cookie.js的介绍与使用方法
Feb 09 Javascript
详解VS Code使用之Vue工程配置format代码格式化
Mar 20 Javascript
VUE实现密码验证与提示功能
Oct 18 Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 Javascript
详解微信小程序动画Animation执行过程
Sep 23 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
功能齐全的PHP发送邮件类代码附详细说明
2008/07/10 PHP
php 静态变量与自定义常量的使用方法
2010/01/26 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
jquery延迟对象解析
2016/10/26 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
AngularJS入门示例之Hello World详解
2017/01/04 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
2017/09/12 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
python 用lambda函数替换for循环的方法
2018/06/09 Python
对python周期性定时器的示例详解
2019/02/19 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
简单的命令查看安装的python版本号
2020/08/28 Python
高中的职业生涯规划书
2013/12/28 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
爱国主题班会教案
2015/08/14 职场文书
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python