下拉伸展,收缩

html

  <!-- 接受任务之后的隐患上报 -->
  <block wx:if="{{chooseAddress}}">
    <view class="yhList">
      <!-- bigwarp -->
      <view class="dewarp">
        <view class='com-selectBox' wx:for="{{detil}}" wx:for-item="items" wx:key="index">
          <view class='com-sContent' bindtap='showList' data-id='{{items.id}}'>
            <view class="com-index">{{index+1}}</view>
            <view class='com-sTxt'>{{items.title}}</view>
            <view class="caricon">
              <!-- //删除 -->
              <view class="deleteImg" catchtap="deleYH" data-id="{{items.id}}">删除</view>
            </view>
          </view>
          <!-- 根据{{item.isShow?'show':'hide'}} 判断显示和隐藏 -->
          <view class=" {{items.isShow?'show':'hide'}}">
            <view class="com-order-list">
              <!-- 描述 -->
              <view class="com-order2">
                <view class="com-oleft">隐患描述:</view>
                <view class="com-text-box">
                  <textarea disabled='true' type="text" style="line-height:50rpx;"
                    class="com-textArea">{{items.description}}</textarea>
                </view>
              </view>
              <!-- img展示 -->
              <view class="com-order2" style="display:flex;position:relative">
                <view> 隐患图片:</view>

                <view class="wrapper-img">
                  <view class="imageList-warp" wx:if="{{items.imageList.length>0}}">
                    <view class="imageList" wx:for-item="image" wx:for="{{items.imgs}}" wx:key='index'>
                      <image src="{{image}}" mode="aspectFill" style="border-radius: 12rpx;" data-src="{{image}}"
                        bindtap="previewImage"></image>
                    </view>
                  </view>
                </view>
              </view>
            </view>
          </view>
        </view>
      </view>
      <!-- end -->

    </view>
    <view bindtap="addYH" class="yhsb-btn">增加隐患</view>
  </block>

css

.yhsb-btn {
  width: 686rpx;
  height: 70rpx;
  line-height: 70rpx;
  font-size: 32rpx;
  font-family: PingFang, PingFang-SC;
  font-weight: SC;
  text-align: center;
  color: #ffffff;
  background: #ff4535;
  border-radius: 44rpx;
  margin: 40rpx auto 76rpx;
}

/* 下拉展开 */
/* bigwarp */
.rotateRight {
  transform: rotate(180deg)
}

.com-selectBox {
  width: 702rpx;
  margin: 0 auto;
}

.com-sContent {
  background: white;
  font-size: 16px;
  line-height: 30px;
  box-shadow: 0rpx 0rpx 50rpx 0rpx rgba(85, 85, 85, 0.13);
  border-radius: 20rpx;
  height: 100rpx;
  margin-top: 50rpx;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 32rpx 0 48rpx;
}
.com-sTxt{
  width: 420rpx;
  overflow:hidden;
  white-space: nowrap;
  text-overflow: ellipsis;

}
.com-sImg {
  width: 56rpx;
  height: 56rpx;
}
.deleteImg{
  font-size: 28rpx;
    font-family: PingFangSC, PingFangSC-Regular;
    font-weight: 400;
    text-align: right;
    color: #ff4535;
}

.show {
  display: block;
}

.hide {
  display: none;
}

.select_img_rotate {
  transform: rotate(180deg);
}

.com-order-list {
  width: 100%;
  margin: 8rpx auto;
  text-align: center;
  box-sizing: border-box;
}

.com-order2 {
  border-radius: 14rpx;
  background: #ffffff;
  box-sizing: border-box;
  font-size: 32rpx;
  font-family: PingFangSC, PingFangSC-Regular;
  font-weight: 400;
  color: #848689;
  padding: 32rpx 30rpx;
  box-sizing: border-box;
  margin-bottom: 8rpx;
}

.com-oleft {
  width: 160rpx;
  margin-bottom: 32rpx;
}

.com-text-box {
  box-sizing: border-box;
  font-size: 36rpx;
  font-family: PingFangSC, PingFangSC-Regular;
  font-weight: 400;
  color: #25282E;
}

.com-index {
  width: 56rpx;
  height: 56rpx;
  background: #4b8cff;
  border-radius: 50%;
  font-size: 32rpx;
  font-family: PingFangSC, PingFangSC-Regular;
  font-weight: 400;
  text-align: center;
  color: #ffffff;
}

.com-textArea {
  text-align: left;
  width: 100%;
}

.fright {
  position: relative;
  padding-right: 32rpx;
}

.textArea1 {
  box-sizing: border-box;
  flex: 1;
  width: calc(100vw - 303rpx);
  text-align: left;
  color: #25282e;
  font-size: 36rpx;
  font-family: PingFangSC, PingFangSC-Regular;
  font-weight: 400;
}


.moreto {
  width: 32rpx;
  height: 32rpx;
  position: absolute;
  top: 4rpx;
  right: -3px;
}

.wrapper-img {
  flex: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  box-sizing: border-box;
  width: calc(100vw - 265rpx);
  margin-bottom: 64rpx;
}

.imageList-warp {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  flex-direction: row;
  align-items: center;
}

.imageList {
  width: 112rpx;
  height: 112rpx;
  position: relative;
  margin: 32rpx;
  margin-left: 0;
}

.addImg {
  width: 112rpx;
  height: 112rpx;
  border-radius: 12rpx;
}

image {
  width: 100%;
  height: 100%;
}

/* end */

js

 // 下拉展开
  showList(e) {
    let index = 0;
    let arrayItem = this.data.detil; //获取循环数组对象
    for (let item of arrayItem) {
      // console.log(item.id, e.currentTarget.dataset.id)
      //如果当前点击的对象id和循环对象里的id一致
      if (item.id == e.currentTarget.dataset.id) {
        //判断当前对象中的isShow是否为true(true为显示,其他为隐藏) 
        if (arrayItem[index].isShow == "" || arrayItem[index].isShow == undefined) {
          arrayItem[index].isShow = "true"
        } else {
          arrayItem[index].isShow = ""
        }
      }
      index++;
    }
    //将数据动态绑定 
    this.setData({
      detil: arrayItem
    })
  },
  // 下拉展开end

下拉样式

在这里插入图片描述

收缩样式

在这里插入图片描述

如果不需要删除功能, 删除按钮那里可以更改为图片,展示上拉收缩的样式更明显。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值