网络编程 
首页 > 网络编程 > 浏览文章

微信小程序实现折叠展开效果

(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )

本文实例为大家分享了微信小程序实现折叠展开效果的具体代码,供大家参考,具体内容如下

wxml:

<view class="page">
<!-- 总数 -->
<view class="li" bindtap='changeToggle'>
<view class="left">总数</view>
<view class="right gray" >8</view>
</view>

<!--分类 -->
<view class="li" data-index="0" bindtap='changeToggle'>
<view class="left">类别1</view>
<view class="right">3 <text class="iconfont {{selectedFlag[0]"> </text>
  </view>
 </view>
 <view hidden="{{!selectedFlag[0]}}">
 <block wx:for="{{list01}}" wx:for-item="item" wx:for-index="index">
  <view class="li bg-gray">
  <view>展开1</view>
  </view>
 </block>
 </view>

 <view class="li" data-index="1" bindtap='changeToggle'>
 <view class="left">类别2</view>
 <view class="right">0
  <text class="iconfont {{selectedFlag[1]"> </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>展开2</view>

  </view>
 </block>
 </view>

 <view class="li" data-index="2" bindtap='changeToggle'>
 <view class="left">类别3</view>
 <view class="right red">2
  <text class="iconfont {{selectedFlag[2]"> </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>展开3</view>

  </view>
 </block>
 </view>


 <view class="li" data-index="3" bindtap='changeToggle'>
 <view class="left">类别4</view>
 <view class="right red">3
  <text class="iconfont {{selectedFlag[3]"> </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>展开4</view>
  <view class="red">展开4右边</view>
  </view>
 </block>
 </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;
}

.li .icon-xiala ,.icon-shangjiantou {
 color: #999;
 font-size: 28rpx;
}

.gray {
 color: #8e8e8e;
}

.red {
 color: #fe2e2e;
}

js:

Page({
 data: {

 list01: [
  { item_id: 1 }, { item_id: 11 }, { item_id: 11 },
 ],
 list02: [

 ],
 list03: [
  { item_id: 11 }, { item_id: 11 }
 ],
 list04: [
  { item_id: 11 }, { item_id: 11 }, { item_id: 11 }
 ],

 // 展开折叠
 selectedFlag: [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
 })
 },

})

效果图,手风琴效果:

微信小程序实现折叠展开效果

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

上一篇:React组件重构之嵌套+继承及高阶组件详解
下一篇:详解Angularjs 自定义指令中的数据绑定