Element-ui中的el-image的图片预览功能(:preview-src-list)

今天用了element-ui中的图片预览功能,但是它的图片预览功能只能预览事先定义的图片,与我的业务功能完全不符,我的业务功能是在表格上显示多张图片,当点击图片时,就预览当前点击的图片。
所以我将其修改了一下,将后端返回的图片依次渲染在页面上;功能就是当点击表格中的某个图片时,这个图片就被放大预览,且图片的显示是以轮播图的形式展现出来。

 

<div v-show="scope.row.evaluatePicture&&scope.row.evaluatePicture.length" style="display: flex; align-items: center; flex-direction: column;">
              <el-image
                v-for="(item,index) in scope.row.evaluatePicture"
                :key="index"
                style="width: 50px; height: 50px"
                :src="$_BASE_IMG_API + item"
                :preview-src-list="evaluatePictureList"
                title="点击查看图片"
                @click="clickevaluatePicture(scope.row)"
              />
            </div>

上面的这段代码与element-ui中的没有区别,唯一的区别就是我设置了一个点击事件click。
在下面的js中,定义srcList(也是就是我的evaluatePictureList)变量。:src是显示的图片,我使用v-for来动态创建多个<el-image></el-image>,这个就可以在页面上渲染多张图片了。 


methods:{
// 点击评价图片,大图预览多张图片
    clickevaluatePicture (row) {
      var srclist = []
      for (const imgArr of row.evaluatePicture) {
// 把数据库传来的图片放进数组里
        srclist.push(this.$_BASE_IMG_API + imgArr) 
      }
      this.evaluatePictureList = srclist// 赋值
}
}

push 把我数据库的图片放进数组里 因为在那个定义srcList(也是就是我的evaluatePictureList)变量,它要求的必须是数组的形式,而我拿到的数据是 ‘one-stand/photo/20211209/a3c81a587afbf317af42566dc207c5b5.jpg, ....’,所以就得多次把数据放进数组里 

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值