微信小程序实现折叠面板

wxml

<view class='help'>
 <view class='help_item' wx:for="{{questList}}" wx:key="index">
   <view class='title' data-index='{{index}}' catchtap='panel'>
     <view class='title_1'>{{item.questions}}</view>
     <view class='title_2'><image src="../../images/{{item.t ? 'up1':'down1'}}.png" mode="widthFix"></image></view>
   </view>
   <view class='detail' style="height:{{ item.t?'':0}}">{{item.answers}}</view>
 </view>
</view>

wxss

.help {
  width: 700rpx;
  margin: 0 auto;
}
.help .help_item {
  margin: 10rpx auto;
}
.help .help_item .title {
  font-size: 30rpx;
  height: 80rpx;
  line-height: 80rpx;
  border-bottom: 1rpx solid #E6E6E6;
  display: flex;
}
.help .help_item .title .title_1 {
  width: 630rpx;
  height: 80rpx;
  padding-left: 20rpx;
}
.help .help_item .title .title_2 {
  width: 50rpx;
  height: 60rpx;
  text-align: center;
}
.help .help_item .title .title_2 image {
  margin: 10rpx auto;
  width: 25rpx;
}
.help .help_item .detail {
  margin: 10rpx auto;
  font-size: 25rpx;
  line-height: 40rpx;
  font-size: 30rpx;
  height: 200rpx;
  transition: height 1s;
  -moz-transition: height 1s;
  /* Firefox 4 */
  -webkit-transition: height 1s;
  /* Safari and Chrome */
  -o-transition: height 1s;
  /* Opera */
  overflow: hidden;
  font-size: 28rpx;
  color: #1F1F21;
  padding-left: 20rpx;
  box-sizing: border-box;
}

js

/**
   * 页面的初始数据
   */
  data: {
    showIndex: 10,
    questList: [{
      questions: 'Q:这是问题',
      answers: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容",
      t:false,
    }, {
      questions: 'Q:这是问题',
      answers: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容",
      t:false,
    }, {
      questions: 'Q:这是问题',
      answers: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容",
      t:false,
    }],
  },
方法:
// 折叠面板
  panel: function (e) {
    this.data.questList[e.currentTarget.dataset.index].t = !this.data.questList[e.currentTarget.dataset.index].t
    this.setData({
      questList:this.data.questList
    })
    if (e.currentTarget.dataset.index != this.data.showIndex) {
      this.setData({
        showIndex: e.currentTarget.dataset.index,
      })
    } 
    else {
      this.setData({
        showIndex: 10
      })
    }
  },

本文纯属记录
转自:https://zhuanlan.zhihu.com/p/414423045

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值