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 相关文章推荐
Javascript Function对象扩展之延时执行函数
Jul 06 Javascript
AlertBox 弹出层信息提示框效果实现步骤
Oct 11 Javascript
用jquery中插件dialog实现弹框效果实例代码
Nov 15 Javascript
jquery序列化表单去除指定元素示例代码
Apr 10 Javascript
jQuery如何取id有.的值一般的方法是取不到的
Apr 18 Javascript
jQuery基于ajax实现星星评论代码
Aug 07 Javascript
Vue-resource实现ajax请求和跨域请求示例
Feb 23 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Mar 12 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 Javascript
JavaScript实现轮播图效果代码实例
Sep 28 Javascript
Vue.directive 实现元素scroll逻辑复用
Nov 29 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
Aug 19 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 is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
jquery的颜色选择插件实例代码
2008/10/02 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
[js高手之路]单例模式实现模态框的示例
2017/09/01 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
深入探讨JavaScript的最基本部分之执行上下文
2019/02/12 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
vue登录注册实例详解
2019/09/14 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
Python基于OpenCV实现视频的人脸检测
2018/01/23 Python
python使用itchat实现手机控制电脑
2018/02/22 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
Notino法国:购买香水和化妆品
2019/04/15 全球购物
毕业设计计划书
2014/01/09 职场文书
给市场的环保建议书
2014/05/14 职场文书
2014年计生标语
2014/06/23 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书
2015年党风建设工作总结
2015/04/29 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书
HAM-2000摩机图
2021/04/22 无线电
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android