上传图片的框,不显示默认图片

上传图片的框,不显示默认图片

img

代码如下:

"imageUrl" label="轮播图" prop="imageUrl">
        :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload" :action="BASE_API + '/eduoss/fileoss'" class="avatar-uploader">
          :src="banner.imageUrl" height="400px" width="650px">
        
      
const imgUrl = require('@/img/01.jpg')
export default {
  data () {
    return {
      banner: {
        title: '',
        sort: 0,
        // level: 1,
        // career: '',
        linkUrl: '',
        imageUrl: imgUrl
        // imageUrl: '/static/01.jpg'
      }
}

img

肿么解决呀!

可以直接在before-upload事件中添加

this.imageUrl = URL.createObjectURL(file);
URL(file);
<template>
    <div class="dashboard-container">
        <div class="dashboard-text">name: Upload 上传</div>
        <el-upload class="avatar-uploader" action="#" :show-file-list="false"
             :before-upload="beforeAvatarUpload">
            <img v-if="imageUrl" :src="imageUrl" class="avatar">
            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
        </el-upload>
    </div>
</template>
<script>
    export default {
        data() {
            return {
                imageUrl: ''
            }
        },
        methods: {
            beforeAvatarUpload(file) {
                console.log(file)
              // 使图片显示
                this.imageUrl = URL.createObjectURL(file);
                return false
            }
        }
    }
</script>
<style>
.avatar-uploader .el-upload {
  border: 1px dashed #d9d9d9;
  border-radius: 6px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.avatar-uploader .el-upload:hover {
  border-color: #409EFF;
}
.avatar-uploader-icon {
  font-size: 28px;
  color: #8c939d;
  width: 178px;
  height: 178px;
  line-height: 178px;
  text-align: center;
}
.avatar {
  width: 178px;
  height: 178px;
  display: block;
}
</style>