基于vu和element-ui的多张图片上传和删除

基于vue和element-ui 多张图片上传和删除

<template>
    <div class="myBox">
    <div v-for="(item,index) in imageUrl" :key="index" style="display: inline-block;margin-right: 11px;position: relative;">
      <el-image 
          style="width: 148px; height: 148px;border-radius: 5px;"
          :src="item" 
          :preview-src-list="imageUrl">
        </el-image>
        <i @click="del(item)" class="el-icon-remove" id="myIcon"></i>
      </div>
      <el-upload
        class="upload-demo"
        style="width:148px;display: inline-block"
        drag
        :show-file-list="false"
        :on-success="handleAvatarSuccess"
        action="https://jsonplaceholder.typicode.com/posts/"
        multiple>
        <i  class="el-icon-plus"></i>
      </el-upload>
    </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  data() {
    return {
      imageUrl: []
    }
  },
  methods: {
    // 上传
    handleAvatarSuccess(res) {
      // console.log(res)
      this.imageUrl.push(res.data)
        // this.imageUrl = URL.createObjectURL(file.raw);
      },
    // 删除
    del(item) {
      this.imageUrl.map((val,index) => {
        if (val === item) {
          this.imageUrl.splice(index, 1)
        }
      })
      // console.log(this.imageUrl)
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style>
.myBox .el-upload-dragger {
  width: 148px;
  line-height: 148px;
  height: 148px;
}
.myBox [class^=el-icon-] {
  font-size: 28px;
}
.myBox #myIcon {
  font-size: 20px;
  position: absolute;
  top: 5px;
  right: 5px;
  color: red;
  cursor: pointer;
}
</style>

把上传地址换成自己后端的地址,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值