element-ui的el-upload组件上传单张图,不显示图片列表。 需求:
1.显示单张图片,不需要图片列表
2.可预览图片,删除图片重新上传
【avue|element-ui的el-upload组件上传单张图,不显示图片列表。】环境
1.element-ui
2. vue3.0
实现效果:
1.test.vue 代码
文章图片
-if="imgName!=''" class="el-upload-action">
文章图片
>
import store from "@/store";
import { imgDelete} from '@/api/test'export default {
name: "test",
data(){
return {
header: {
Authorization: "Bearer " + store.getters.access_token,
},
imgUrl:'',//图片地址
imgName:'',//图片名称
dialogVisible:false, //预览图片窗口
dialogImageUrl:'',//预览地址
}
},
methods:{//图片删除,imgDelete为删除的api,后台接收到参数则删除
handleRemove() {
imgDelete(this.imgName).then(res => {
this.$message.success('删除成功');
this.imgUrl = ''
this.imgName = ""
}).catch(e => {
this.$message.error('删除失败');
});
},//图片预览
handlePictureCardPreview() {
this.dialogImageUrl = this.imgUrl;
this.dialogVisible = true;
},//图片上传成功,res为后台上传成功返回的回显参数
uploadsucess(res, file, fileList) {
this.imgUrl = res.data.url
this.imgName = res.data.name
this.$message.success("图片上传成功")
},
}
}
css
.myload{
width: 205px;
height: 105px;
overflow: hidden;
}img{
border: 1px dashed #ccc;
margin-top: 1px;
}.avatar-uploader {
padding: 2px 0 0 0;
cursor: pointer;
position: relative;
background-size: 95% 95%;
}.avatar {
position: relative;
width: 200px !important;
height: 100px !important;
line-height: 100px !important;
display: block;
}.myload /deep/ .avatar-uploader-icon {
font-size: 28px !important;
color: #8c939d !important;
width: 200px !important;
height: 100px !important;
line-height: 100px !important;
text-align: center !important;
background-color: #fbfdff;
border:1px dashed #ccc;
}.el-upload-action {
position: absolute;
top: 0;
left: 0;
display: block;
width: 200px;
height: 100px;
font-size: 0;
color: #fff;
text-align: center;
line-height: 100px;
}
.el-upload-action:hover {
font-size: 20px;
margin-top: 4px;
margin-left: 2px;
background-color: #000;
background-color: rgba(0, 0, 0, .4)
}
.img-error {
width: 200px;
height: 100px;
line-height: 100px;
background-color: rgb(245, 247, 250);
}
3.总结 1.利用overflow属性对其他元素进行隐藏。
2.通过研究,对css的理解有进一步的提升。
3.研究仅用于学习,方法老套,期待新方法
推荐阅读
- spring|BeanUtils.copyProperties()无法复制List<entiy>集合,制作通用工具类来解决。
- avue|Avue中实现多选删除功能
- spring|使用swagger遇到的问题-启动服务出现空指针异常(Unable to scan documentation context default)
- avue|Avue 远程搜索输入框,联动赋值其他组件 v2.7.10及以下
- 前端|前端面试(浏览器输入网址后发生了什么())
- vue.js|Vue模块语法下(事件处理器&自定义组件&组件通信)
- 奶妈の自学|[の项目练习]Vue-Cli、API的头条新闻项目
- 前端学习|前端基础学习——Vue-Cli脚手架介绍
- Vue|Vue语法模板(样式绑定,事件处理器,表单,自定义组件,组件通信)