Element UI Upload 组件 设置只允许上传单张图片的操作

2024-01-28 12:40

本文主要是介绍Element UI Upload 组件 设置只允许上传单张图片的操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文链接:https://blog.csdn.net/sinat_16463137/article/details/79227564

在原文的基础上做了少量修改。

首先附一个官方upload的地址 http://element-cn.eleme.io/#/zh-CN/component/upload

其中有上传多张和不同样式列表的例子,只是在【用户上传头像】这个例子中,在下并没有成功的使用。

会出现显示不出已上传的图片无法显示缩略图,无法调整缩略图的位置。

所以我不想深究,直接用【照片墙】这个例子往上怼。这个例子上上传多张的,因为之前做过上传多张的项目,所以比较轻车熟路。

先说一下我的思路,大概就是在上传了一张以后将上传组件隐藏(还有更好的思路可以交流),于是我在调试器中找了上传组件的样式 el-upload--picture-card

 

只要在检测到上传列表中已经有一张图片时,就隐藏上传组件,只展示上传列表。

那么就可以给整个上传组件一个class名称,这个class没有任何样式,只是做选择器用。

比如:disabled

那么就在监测到上传一张后,隐藏disabled 下面的 el-upload--picture-card

思路大概就是这样,下面跟demo↓↓↓↓↓↓

话不多说直接上代码:
先定义变量 uploadDisabled='' 

<el-upload :class="uploadDisabled":action="handleUploadUrl" with-credentials :file-list="fileList"list-type="picture-card" :data="attachmentData" :headers="handleHeader":on-remove="handleRemove":on-success="handleAvatarSuccess":disabled="showdisabled":before-upload="beforeAvatarUpload"><i class="el-icon-plus"></i></el-upload><script>export default {name: 'singleImage',data() {return {showdisabled:false,uploadDisabled:'',attachmentData: {type: 1, objectId: null},//上传文件类型为营业执照图片attachmentId: [],// 存储上传之后后台传过来的IDfileList: [],handleUploadUrl: process.env.BASE_API+'/attachment',handleHeader: {'jy-token' : getToken()},}},handleAvatarSuccess(res, file) {this.attachmentId.push(res.id);//上传图片后将 uploadDisabled 变量设置为 disabledif(this.attachmentId.length>0){this.uploadDisabled='disabled'}   },handleRemove(file, fileList) {this.attachmentId = this.attachmentId.filter(function(val) {//根据文件路径,截取获取文件在附件表的IDconst i1 = file.url.indexOf("="); //1const i2 = file.url.indexOf("&"); //2const resultStr = file.url.slice(i1+1,i2); if(val == resultStr) {return false;} else {return val;}});//将变量置空this.uploadDisabled=''},

 后面加上 class 为 disabled 的样式,注意此处将样式写到不加 scoped 的样式中。

<style rel="stylesheet/scss" lang="scss" scoped></style>
<style rel="stylesheet/scss" lang="scss">.disabled .el-upload--picture-card{display: none;}
</style>

uploadDiseabled 会根据上传列表的长度动态的给upload的组件添加样式,进而将达到只上传一张的效果。然后这个方法也可以用于限制上传张数。

这篇关于Element UI Upload 组件 设置只允许上传单张图片的操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/653661

相关文章

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片