图片最多显示三张,超出则显示剩余数量或者其它样式

效果图

这里需要作两个判断,第一个判断是内容里是否传入了视频,有则显示视频遮罩层,第二个判断是内容里的图片长度是否超过3个,如超过则显示多图遮罩层

<view class="img">
        <view v-for="(item, index) in imglist" :key="item.id" v-show="index < 3">
          <image :src="item.url" alt="" />
        </view>
        <view
          v-if="imglist.length != 0"//这里的判断是随便取的,实际应该是判断是否传入video
        >
          <!-- <view> +{{ imglist.length - 2 }} </view> -->
           //上条代码可显示剩余图片数量,这里注释掉了
          <view class="havevideo">
            <image src="@/static/play.png" class="imgplay" alt="">
            <view class="txtvideo">视频</view> 
            </view>
        </view>
        <view
          v-if="imglist.length > 3"
        >
          <!-- <view> +{{ imglist.length - 2 }} </view> -->
            //上条代码可显示剩余图片数量,这里注释掉了
          <view class="more">
            <image src="@/static/duotu.png" class="imgmore" alt="">
            <view class="txtmore">多图</view> 
            </view>
        </view>
      </view>

data() {
    return {
      imglist: [
        { url: "/static/baoliao1.png" },
        { url: "/static/baoliao2.png" },
        { url: "/static/daye.png" },
        { url: "/static/daye.png" },
        { url: "/static/daye.png" },
      ],
    };
  },
.img {
      display: flex;
      position: relative;
      image {
        width: 215rpx;
        height: 215rpx;
        margin: 26rpx 16rpx 0 0;
      }
      .havevideo {
        display: flex;
        flex-direction: column;
        position: absolute;
        text-align: center;
        width: 215rpx;
        height: 215rpx;
        top: 26rpx;
        left: 0;
        background-color: rgba(0, 0, 0, 0.5);
        .imgplay {
          width: 70rpx;
          height: 70rpx;
          margin: 55rpx 0 0 73rpx;
        }
        .txtvideo {
          color: rgba(255, 255, 255, 54);
          font-size: 14px;
        }
      }
      .more {
        display: flex;
        flex-direction: column;
        position: absolute;
        text-align: center;
        width: 215rpx;
        height: 215rpx;
        top: 26rpx;
        right: 16rpx;
        background-color: rgba(0, 0, 0, 0.5);
        .imgmore {
          width: 48rpx;
          height: 48rpx;
          margin: 66rpx 0 0 85rpx;
        }
        .txtmore {
          color: rgba(255, 255, 255, 54);
          font-size: 14px;
        }
      }
    }
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值