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 相关文章推荐
E3 tree 1.6在Firefox下显示问题的修复方法
Jan 30 Javascript
Textarea根据内容自适应高度
Oct 28 Javascript
Seajs的学习笔记
Mar 04 Javascript
jQuery常用操作方法及常用函数总结
Jun 19 Javascript
AngularJS监听路由的变化示例代码
Sep 23 Javascript
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
JS实现websocket长轮询实时消息提示的效果
Oct 10 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
Aug 30 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
Oct 01 Javascript
深入理解移动前端开发之viewport
Oct 19 Javascript
Vue获取微博授权URL代码实例
Nov 04 Javascript
Vue实现圆环进度条的示例
Feb 06 Vue.js
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蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
JS使用正则表达式验证身份证号码
2017/06/23 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python中AND、OR的一个使用小技巧
2015/02/18 Python
使用Python对Access读写操作
2017/03/30 Python
python中OrderedDict的使用方法详解
2017/05/05 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
煤矿班组长的职责
2013/12/25 职场文书
人事部岗位职责范本
2014/03/05 职场文书
新年联欢会主持词
2014/03/27 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
搞笑老公保证书
2015/02/26 职场文书
超市店长竞聘书
2015/09/15 职场文书
2019年作为一名实习生的述职报告
2019/09/29 职场文书
话题作文之诚信
2019/11/28 职场文书
python实现过滤敏感词
2021/05/08 Python
python获取对象信息的实例详解
2021/07/07 Python