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

相关文章

MySQL游标和触发器的操作流程

《MySQL游标和触发器的操作流程》本文介绍了MySQL中的游标和触发器的使用方法,游标可以对查询结果集进行逐行处理,而触发器则可以在数据表发生更改时自动执行预定义的操作,感兴趣的朋友跟随小编一起看看... 目录游标游标的操作流程1. 定义游标2.打开游标3.利用游标检索数据4.关闭游标例题触发器触发器的基

在C#中分离饼图的某个区域的操作指南

《在C#中分离饼图的某个区域的操作指南》在处理Excel饼图时,我们可能需要将饼图的各个部分分离出来,以使它们更加醒目,Spire.XLS提供了Series.DataFormat.Percent属性,... 目录引言如何设置饼图各分片之间分离宽度的代码示例:从整个饼图中分离单个分片的代码示例:引言在处理

Python列表的创建与删除的操作指南

《Python列表的创建与删除的操作指南》列表(list)是Python中最常用、最灵活的内置数据结构之一,它支持动态扩容、混合类型、嵌套结构,几乎无处不在,但你真的会创建和删除列表吗,本文给大家介绍... 目录一、前言二、列表的创建方式1. 字面量语法(最常用)2. 使用list()构造器3. 列表推导式

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

MyBatis配置文件中最常用的设置

《MyBatis配置文件中最常用的设置》文章主要介绍了MyBatis配置的优化方法,包括引用外部的properties配置文件、配置外置以实现环境解耦、配置文件中最常用的6个核心设置以及三种常用的Ma... 目录MyBATis配置优化mybatis的配置中引用外部的propertis配置文件⚠️ 注意事项X

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

MySQL基本表查询操作汇总之单表查询+多表操作大全

《MySQL基本表查询操作汇总之单表查询+多表操作大全》本文全面介绍了MySQL单表查询与多表操作的关键技术,包括基本语法、高级查询、表别名使用、多表连接及子查询等,并提供了丰富的实例,感兴趣的朋友跟... 目录一、单表查询整合(一)通用模版展示(二)举例说明(三)注意事项(四)Mapper简单举例简单查询

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点