小程序簡(jiǎn)單實(shí)現(xiàn)折疊菜單

最近在學(xué)習(xí)小程序,入手項(xiàng)目中有個(gè)使用折疊菜單功能,google下了思路。

關(guān)于文章https://blog.csdn.net/qq_35770969/article/details/81477145
中也實(shí)現(xiàn)了一樣的功能但是此方法是針對(duì)數(shù)據(jù)屬性來hidden的,但是不能添加css動(dòng)效

我依照文案中的數(shù)據(jù) 也實(shí)現(xiàn)了類似功能,但是我用的class方式來 顯示隱藏,可以在css中添加自己想要的動(dòng)效。

image.png

直接貼代碼

WXML

<view>
  <block wx:for="{{memberList}}" wx:key="index">
    <view class='cont' bindtap='clickitem' data-index="{{index}}">
      <text>{{item.cont}}</text>
    </view>

    <view class="{{clickId == index ? 'block':'none'}}">
      <block wx:for="{{item.invalidActivty}}" wx:key="index">
        <view class="price" bindtap="clickSubItem" data-text="{{item.price}}">
          <text>{{item.price}}</text>
        </view>
      </block>
    </view>
  </block>
</view>

WXSS

.cont{
  height: 44px;
  width: 100%;
  border-bottom: 1rpx solid red;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 20px;
}

.price{
  padding-left: 40px;
  font-size: 28rpx;
  height: 35px;
  background: #ccc;
  border-bottom: 1rpx solid #ccc;
}

.none{
    display: none;
}

.block{
    display: block
}

JS

// pages/demo/demo.js
Page({

  /**
   * 頁面的初始數(shù)據(jù)
   */
  data: {
    memberList: [{
        iamges: "/assets/logo_aiqiyi2x.png",
        cont: "愛奇藝影視會(huì)員",
        discount: "7.5折",
        hiddena: true,
        id: "0",
        invalidActivty: [{
            price: "2.98元11111",
            oldPrice: "3元",
            validType: "周卡",
            validTime: '7天有效'
          },
          {
            price: "18.98元1111",
            oldPrice: "25元",
            validType: "月卡",
            validTime: '30天有效'
          },
        ]
      },
      {
        iamges: "/assets/logo_tengxun2x.png",
        cont: "騰訊視頻會(huì)員",
        discount: "7折",
        hiddena: true,
        id: "1",
        invalidActivty: [{
            price: "2.98元22222",
            oldPrice: "3元",
            validType: "周卡",
            validTime: '7天有效'
          },
          {
            price: "18.98元22222",
            oldPrice: "25元",
            validType: "月卡",
            validTime: '30天有效'
          },
        ]
      },
      {
        iamges: "/assets/logo_youku2x.png",
        cont: "優(yōu)酷視頻黃金會(huì)員",
        discount: "8折",
        hiddena: true,
        id: "2",
        invalidActivty: [{
            price: "2.98元33333",
            oldPrice: "3元",
            validType: "周卡",
            validTime: '7天有效'
          },
          {
            price: "18.98元33333",
            oldPrice: "25元",
            validType: "月卡",
            validTime: '30天有效'
          },
        ]
      },
      {
        iamges: "/assets/logo_sohu2x.png",
        cont: "搜狐視頻黃金會(huì)員",
        discount: "8折",
        hiddena: true,
        id: "3",
        invalidActivty: [{
            price: "2.98元44444",
            oldPrice: "3元",
            validType: "周卡",
            validTime: '7天有效'
          },
          {
            price: "18.98元44444",
            oldPrice: "25元",
            validType: "月卡",
            validTime: '30天有效'
          },
        ]
      },
    ]
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽頁面加載
   */
  onLoad: function(options) {

  },
  clickitem(e) {
    const idx = e.currentTarget.dataset.index
    if(idx == this.data.clickId){
      this.setData({
        clickId: -1
      })
    }else{
      this.setData({
        clickId: idx
      })
    }
  },

  clickSubItem(e){
    console.log(e)
  }
})

代碼很簡(jiǎn)單 ,一看就明白

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容