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

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

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
    })
  },

})

效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 微信小程序实现下拉菜单切换效果

    本文实例为大家分享了微信小程序实现下拉菜单切换展示的具体代码,供大家参考,具体内容如下 效果图: wxml: <!-- 下拉菜单 --> <view id="swiper-tab"> <view class="swiper-tab"> <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0"

  • 微信小程序实现的点击按钮 弹出底部上拉菜单功能示例

    本文实例讲述了微信小程序实现的点击按钮 弹出底部上拉菜单功能.分享给大家供大家参考,具体如下: index.wxml <button type="default" bindtap="actionSheetTap">弹出action sheet</button> <action-sheet hidden="{{actionSheetHidden}}" bindchange="actionSheetbindch

  • 微信小程序实现弹出菜单功能

    需求 点击标签栏按钮,向下弹出菜单,再次点击,收回菜单 要解决的问题 标签栏三栏样式,标签栏固定不动: 点击标签栏弹出菜单,并且出现透明遮罩: 遮罩优先级在弹出框之下: 弹出框内标签的设置: 滚动栏滚动条的隐藏 如何解决? 弹性布局,横向,三者平分整栏; 状态监听点击事件,数据控制hide或者show,通过rgba设置透明度 弹出框设置z-index: 弹性布局flex 横向排列 超出后wrap 然后space-around控制间距 ::-webkit-scrollbar { width: 0;

  • 微信小程序 下拉菜单简单实例

    微信小程序 下拉菜单简单实例 wcss  /**DropDownMenu**/ /*总菜单容器*/ .menu { display: block; height: 28px; position: relative; } /*一级菜单*/ .menu dt { font-size: 15px; float: left; /*hack*/ width: 33%; height: 38px; border-right: 1px solid #d2d2d2; border-bottom: 1px sol

  • 微信公众号菜单配置微信小程序实例详解

    先提条件是你的公众号版定了小程序 第一种:直接配置     第二张:代码配置 1.进入在线接口调试工具        2.选择自定义菜单 菜单body为json格式: { "button": [ { "type": "miniprogram", "name": "合作", "url": "http://form.mikecrm.com/2xb9aT", "a

  • 微信小程序 特效菜单抽屉效果实例代码

    实现效果图: 抽屉菜单是app上常见的菜单设计方式,典型的抽屉菜单如下图所示 下面展示如何基于微信小程序实现抽屉菜单,最终效果如下图所示: 页面包含一个主页和抽屉菜单页,为了实现滑动效果,页面采用absolute布局,代码如下 index.wxml <view id='id-main-page' class='main-page' animation='{{animationData}}' style='left:{{mainPageLeft}}rpx;' bindtouchstart='onM

  • 微信小程序 仿美团分类菜单 swiper分类菜单

    有同学要仿美团分类菜单.写了一个. 跟 微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换很类似 代码: js就这么一点 //index.js //获取应用实例 var app = getApp() Page({ data: { currentTab: 0, grids: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], swiperList:[0, 1, 2, 3, 4] }, onLoad: function () { }, click: function (e) {

  • 微信小程序实现单列下拉菜单效果

    接下来我想做的是一个下拉菜单用来分类的,但是在网上搜了一下,基本上全都是比较复杂的分类菜单,最简单的也是分三列的下拉菜单,但是并不想要这么复杂的,最后找了一个三列的,改成了单列.也把代码尽可能的简单化了. 实现的效果图: 合并状态: 首先下面是目录结构:  下面是实现的具体代码: .wxml <!--选择框--> <view class="product-list"> <!--条件选择--> <view class="choice-b

  • 微信小程序左滑动显示菜单功能的实现

    效果图如下所示: view <view class="page"> <!--下层左侧导航--> <view class="page-bottom"> <view class="page-content"> <view class="userinfo"> <view class="userImg"> <image src='/ima

  • 微信小程序 下拉菜单的实现

    微信小程序 下拉菜单 看下实现效果图: 实例: //wcss /**DropDownMenu**/ /*总菜单容器*/ .menu { display: block; height: 28px; position: relative; } /*一级菜单*/ .menu dt { font-size: 15px; float: left; /*hack*/ width: 33%; height: 38px; border-right: 1px solid #d2d2d2; border-botto

随机推荐