el-upload手动上传图片,上传后隐藏上传样式(el-upload上传单张图片,vue2)

2023-10-13 03:04

本文主要是介绍el-upload手动上传图片,上传后隐藏上传样式(el-upload上传单张图片,vue2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介:上期介绍了使用el-upload上传文件,这次来介绍一下如何使用el-upload上传图片,只能上传一次,上传图片后隐藏上传按钮部分。

实现效果图:

1、首先,想要在项目中使用el-upload组件,同样,得保证项目中已经安装且引入了该组件,具体安装及引入可见上篇文章。

el-upload下载使用icon-default.png?t=N7T8https://blog.csdn.net/weixin_65793170/article/details/132627341?spm=1001.2014.3001.5501

2、然后直接在vue组件中使用。


<el-upload class="upload_box" ref="upload" :limit="limitNum" :class="{ uploadHide: hideUploadEdit }"                :on-change="handleEditChange" :http-request="ImgUploadSectionFile":before-upload="beforeAvatarUpload" :with-credentials="true" :auto-upload="true"accept=".png, .jpg" list-type="picture-card" :file-list="fileList"action=""><!-- 加号标识 --><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-upload class="upload_box" ref="upload" :limit="limitNum" :class="{ uploadHide: hideUploadEdit }"                :on-change="handleEditChange" :http-request="ImgUploadSectionFile":before-upload="beforeAvatarUpload" :with-credentials="true" :auto-upload="true"accept=".png, .jpg" :file-list="fileList"action=""><!-- 上传按钮 --><el-button class="upload_btn" slot="trigger" size="small" type="primary">上传图片<i class="el-icon-upload el-icon--right"></i></el-button><!-- 上传后显示 --><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>

因为这里是本地图片测试上传,所以组件中的action属性为空,上传到接口,还需另行配置。

3、相关必要样式和属性介绍。

// 隐藏上传按钮
::v-deep .uploadBox_hide .el-upload--picture-card {display: none;
}
// 搭配动态 :class 使用
:class="{ uploadBox_hide: hideUploadEdit }" 这个样式用于,去掉添加/删除文件时的过渡动画
// ::v-deep .el-upload-list__item {
//     transition: none !important;
// }:limit="limitNum" //最大允许上传个数:class="{hide:hideUploadEdit}" //加类名为了隐藏上传样式:on-remove="handleRemove" //文件列表移除文件时的钩子:on-change="handleEditChange" //文件状态改变时的钩子(可以限制文件数量和文件大小):http-request="ImgUploadSectionFile" //覆盖默认的上传行为,实现手动上传:before-upload="beforeAvatarUpload" //上传文件之前的钩子:with-credentials="true" //支持发送 cookie 凭证信息:auto-upload="true" //是否在选取文件后立即进行上传(不知什么原因false没效果)accept=".png, .jpg" //接受上传的文件类型action="" //手动上传不需要填写urllist-type="picture-card" //设置文件列表的样式:file-list="fileList" //上传的文件列表

4、上传相关事件。

       // 放大图片handlePictureCardPreview(file) {this.dialogImageUrl = file.url;this.dialogVisible = true;},// 删除图片handleRemove(file, fileList) {if (this.fileList.length === 0) {this.fileList = [];} else {let dl = this.fileList.indexOf(file);this.fileList.splice(dl, 1);}this.hideUploadEdit = this.fileList.length >= this.limitNum;},// on-change添加文件,上传成功和上传失败时都会被调用handleEditChange(file, fileList) {this.hideUploadEdit = fileList.length >= this.limitNum;// console.log("this.fileList:", this.fileList);// console.log("this.hideUploadEdit:", this.hideUploadEdit);},// http-request自定义上传ImgUploadSectionFile(param) {this.param = param;},// before-upload上传文件之前的钩子,参数为上传的文件// 若返回 false 或者返回 Promise 且被 reject,则停止上传beforeAvatarUpload(file) {const isJPG = file.type === "image/jpeg" || file.type === "image/png";const isLt2M = file.size / 1024 / 1024 < 2;if (!isJPG) {this.$message.error("上传图片只能是 JPG 或 PNG 格式!");}if (!isLt2M) {this.$message.error("上传图片大小不能超过 2MB!");}return isJPG && isLt2M;},// 文件上传成功时的钩子handleSuccess(file) {// console.log(file);const data = file.data;//然后数据、逻辑处理},

创作不易,感觉有用,就点赞、收藏加关注,感谢(●'◡'●)

这篇关于el-upload手动上传图片,上传后隐藏上传样式(el-upload上传单张图片,vue2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2