上传图片的框,不显示默认图片
代码如下:
"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'
}
}
肿么解决呀!
可以直接在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>