首先我们可以从Element文档上搜索相关的上传组件。在其基础上做些修改。
<el-upload
:class="fileUrl.length == 1 ? 'hide':''"
action="#"
list-type="picture-card"
:on-change="uploadSuccess"
:auto-upload="false"
:show-file-list="true"
:limit="fileLimit"
:file-list="fileUrl">
<i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
<img
class="el-upload-list__item-thumbnail"
:src="file.url" alt=""
>
<span class="el-upload-list__item-actions">
<span
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in"></i>
</span>
<span
v-if="!disabled"
class="el-upload-list__item-delete"
@click="handleRemove(file)"
>
<i class="el-icon-delete"></i>
</span>
</span>
</div>
</el-upload>
其中参数说明需要参考El文档:https://element.eleme.cn/2.15/#/zh-CN/component/dialog
class自定义属性样式:主要是控制el-upload组件中隐藏的上传文件框。
css样式:
.hide .el-upload--picture-card {
display: none !important;
}
如果说上面的样式不生效,有两种做法:1、删除style标签上的 scoped 属性。2、样式穿透的方法: ::v-deep
例如:
<style lang="scss" scoped>
::v-deep .hide .el-upload--picture-card {
display: none !important;
}
</style>