关于vue+elementUi大图预览使用

关于vue+elementUi大图预览使用

:preview-src-list=“carpicUriList”,需要你传进去一个数组,大图预览时前一张和后一张都是由你这个数组来控制的。多张图片的时候,如果你想实现点击哪张图片就放大哪张图片就不能固定数组内容,必须动态改变数组。
在这里插入图片描述
假如现在图片数组是这样的,现在点击第五张图片。那么就相当于把数组重新拆分,这样就实现了无论点击哪张图片都能确保前一张和后一张不会跑偏,如下图:
在这里插入图片描述

<el-table-column
       prop="carpicUri"
        header-align="center"
        align="center"
        width="200"
        label="车辆图片">
  <template width="150" slot-scope="scope">
    <el-image 
      style="width:150px;height:auto;border:none;" 
      @error="handleError" 
      :src="`http://192.168.6.251:6040${scope.row.carpicUri}`"
      @click="preview(scope.row)"
      :preview-src-list="carpicUriList">
    </el-image>
  </template>
</el-table-column>

<script>
	data () {
      return {
        dataList: [],
        carpicUriList: [],
        pageIndex: 1,
        pageSize: 10,
        totalPage: 0
      }
    },
    methods: {
      // 获取数据列表
      getDataList () {
        this.dataListLoading = true
        fetchList(
          Object.assign(
            {
              current: this.pageIndex,
              size: this.pageSize
            },
            this.queryForm 
          )
        ).then(response => {
          this.dataList = response.data.data.records;
          this.totalPage = response.data.data.total;
          let _this = this;
          for (let i = 0; i < _this.dataList.length; i++) {
            _this.platepicUriList[i] = "http://192.168.6.251:6040" + _this.dataList[i].platepicUri
            _this.carpicUriList[i] = "http://192.168.6.251:6040" + _this.dataList[i].carpicUri
          }
        })
        this.dataListLoading = false
      },
      preview(row) {
        this.carpicUriList = [];
        for (let i = 0; i < this.pageSize; i++) {
          let data = this.dataList
          if (data[i].id === row.id) {
            let j = 0;
            let _this = this
            for(let k = i; k < this.pageSize; k++) {
              _this.carpicUriList[j] = "http://192.168.6.251:6040" + data[k].carpicUri
              j++;
            }
            for(let m = 0; m < i; m++) {
              _this.carpicUriList[j] = "http://192.168.6.251:6040" + data[m].carpicUri
              j++;
            }
          }
        }
      }
     }
    }
</script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值