微信小程序实现收缩式菜单

本文实例为大家分享了微信小程序实现收缩式菜单的具体代码,供大家参考,具体内容如下

wxml文件

<view class="page"> <!--分类 --> <view class="li" data-index="0" bindtap='changeToggle'> <view class="left">谷类及制品</view> <view class="right">6 <text class="iconfont {{selectedFlag[0]?'icon-shangjiantou':'icon-xiala'}}"> </text>       </view>   </view>   <view hidden="{{!selectedFlag[0]}}">     <view wx:for="{{list01}}" wx:for-item="item" wx:for-index="index">       <view class="li bg-gray">         <view>{{item}}</view>       </view>     </view>   </view>   <view class="li" data-index="1" bindtap='changeToggle'>     <view class="left">薯类、淀粉及制品</view>     <view class="right">6       <text class="iconfont {{selectedFlag[1]?'icon-shangjiantou':'icon-xiala'}}"> </text>     </view>   </view>   <view hidden="{{!selectedFlag[1]}}">     <block wx:for="{{list02}}" wx:for-item="item" wx:for-index="index">       <view class="li bg-gray">         <view>{{item}}</view>       </view>     </block>   </view>   <view class="li" data-index="2" bindtap='changeToggle'>     <view class="left">干豆类及制品</view>     <view class="right red">6       <text class="iconfont {{selectedFlag[2]?'icon-shangjiantou':'icon-xiala'}}"> </text>     </view>   </view>   <view hidden="{{!selectedFlag[2]}}">     <block wx:for="{{list03}}" wx:for-item="item" wx:for-index="index">       <view class="li bg-gray">         <view>{{item}}</view>       </view>     </block>   </view>   <view class="li" data-index="3" bindtap='changeToggle'>     <view class="left">蔬菜类及制品</view>     <view class="right red">6       <text class="iconfont {{selectedFlag[3]?'icon-shangjiantou':'icon-xiala'}}"> </text>     </view>   </view>  <view hidden="{{!selectedFlag[3]}}">     <block wx:for="{{list04}}" wx:for-item="item" wx:for-index="index">       <view class="li bg-gray">         <view>{{item}}</view>       </view>     </block>   </view> <view class="li" data-index="4" bindtap='changeToggle'>     <view class="left">菌藻类</view>     <view class="right red">6       <text class="iconfont {{selectedFlag[4]?'icon-shangjiantou':'icon-xiala'}}"> </text>     </view>   </view>  <view hidden="{{!selectedFlag[4]}}">     <block wx:for="{{list05}}" wx:for-item="item" wx:for-index="index">       <view class="li bg-gray">         <view>{{item}}</view>       </view>     </block>   </view> <view class="li" data-index="5" bindtap='changeToggle'>     <view class="left">水果类及制品</view>     <view class="right red">6       <text class="iconfont {{selectedFlag[5]?'icon-shangjiantou':'icon-xiala'}}"> </text>     </view>   </view>  <view hidden="{{!selectedFlag[5]}}">     <block wx:for="{{list06}}" wx:for-item="item" wx:for-index="index">       <view class="li bg-gray">         <view>{{item}}</view>       </view>     </block>   </view> <view class="li" data-index="6" bindtap='changeToggle'>     <view class="left">坚果、种子类</view>     <view class="right red">6       <text class="iconfont {{selectedFlag[6]?'icon-shangjiantou':'icon-xiala'}}"> </text>     </view>   </view>  <view hidden="{{!selectedFlag[6]}}">     <block wx:for="{{list07}}" wx:for-item="item" wx:for-index="index">       <view class="li bg-gray">         <view>{{item}}</view>       </view>     </block>   </view> <view class="li" data-index="7" bindtap='changeToggle'>     <view class="left">畜肉类及制品</view>     <view class="right red">6       <text class="iconfont {{selectedFlag[7]?'icon-shangjiantou':'icon-xiala'}}"> </text>     </view>   </view>  <view hidden="{{!selectedFlag[7]}}">     <block wx:for="{{list08}}" wx:for-item="item" wx:for-index="index">       <view class="li bg-gray">         <view>{{item}}</view>       </view>     </block>   </view> </view>

wxss文件

.li {   background-color: #fff;   display: flex;   justify-content: space-between;   font-size: 34rpx;   width: 92%;   padding: 0 4%;   height: 100rpx;   line-height: 100rpx;   border-bottom: 1rpx solid #f1f1f1; } .bg-gray{     background-color: #ccc!important;     border-bottom: 1rpx solid  #fff!important; }  .icon-xiala ,.icon-shangjiantou {   color: #999;   font-size: 58rpx; }

js文件

Page({   data: {     list01: [        "面条","花卷","馒头","油条","米饭","小米" ,     ],     list02: [       "甘薯","红薯","粉丝","土豆","魔芋豆腐","小黑药粉" ,     ],     list03: [       "豆腐卷","豆腐干","素大肠","绿豆","素鸡","脑豆"      ],     list04: [       "胡萝卜","白萝卜","豌豆尖","绿豆芽","白菜","蒜苔"      ],     list05: [       "海带","香菇","蘑菇","紫菜","金针菇","木耳"      ],     list06: [       "西瓜","木瓜","梨","苹果","橘子","香蕉"      ],     list07: [       "花生","芝麻","杏仁","榛子","腰果","桃仁"      ],     list08: [       "猪肉","猪蹄","腊肉","牛肉","羊肉","马肉"      ],   // 展开折叠     selectedFlag: [false, false, false, false,false, false, false, false],   },     // 展开折叠选择     changeToggle:function(e){     var index = e.currentTarget.dataset.index;     if (this.data.selectedFlag[index]){       this.data.selectedFlag[index] = false;     }else{       this.data.selectedFlag[index] = true;     }     this.setData({       selectedFlag: this.data.selectedFlag     })   }, })

效果

推荐阅读