element-ui图片上传组件——限制每次5张上传

1、limit上传个数限制配合on-exceed属性使用;
2、上传之前提示图片大小限制属性before-upload;
3、上传成功后对图片的filelist处理;
4、使用oss上传,没使用elementui的上传方式;

直接上代码

<template><div class="ele-upload-styl"><el-uploadaction="":headers="uploadProps.headers":show-file-list="false":http-request="fnUploadRequest":on-success="handleSuccess":before-upload="handleUpload"accept=".png,.jpg,.jpeg,.gif,.webp"multiple:limit="5":on-exceed="handleExceed"ref="upload"><div class="img-cont pr"><img slot="trigger" class="img-icon" src="@/assets/img/icon-img-upload.png" alt=""><span slot="tip" class="img-text">图片</span></div></el-upload></div>
</template><script>
import {getAccessToken,getRefreshToken,getAccessTokenTTL,} from "@/utils/auth";
import { uploadOSS } from '@/utils/ossImage';export default {name: "imgUpload",components: {},props: {},computed: {userAccountID() {return this.$store.state.user.userAccountID;},uploadProps() {return {// action: `${process.env.VUE_APP_BASE_API}/api/image/upload`,headers: {// 接口可能要带token: "",Authorization: getAccessToken(),},data: {},};},},data() {return {};},methods: {// handleExceed(file, fileList) {//   // console.log(file, fileList);//   this.$message.error("上传失败,限制上传数量10张图片以内!");// },// beforeUpload_u(file, fileList) {//   // console.log(file, fileList);//   var testmsg = file.name.substring(file.name.lastIndexOf(".") + 1);//   const extension =//     testmsg === "png" ||//     testmsg === "jpg" ||//     testmsg === "jpeg" ||//     testmsg === "gif" ||//     testmsg === "webp";//   const isLimit10M = file.size / 1024 / 1024 < 10;//   var bool = false;//   if (extension && isLimit10M) {//     bool = true;//   } else {//     bool = false;//   }//   if (!extension) {//     this.$message.error("请上传图片格式文件!");//     return bool;//   }//   if (!isLimit10M) {//     this.$message.error("上传失败,不能超过10M!");//     return bool;//   }//   return bool;// },// handleSuccess(res) {//   // console.log(res);//   if (res.code == 0) {//     this.$emit("imgData", res.item);//     this.$message.success("上传图片成功!");//   } else {//     this.$message.error("上传图片失败!");//   }// },// handleError(err) {//   this.$message.error("上传图片失败!");// },// 上传图片判断handleUpload(file) {// console.log(file);var testmsg = file.name.substring(file.name.lastIndexOf(".") + 1);const extension =testmsg.toLowerCase() === "png" ||testmsg.toLowerCase() === "jpg" ||testmsg.toLowerCase() === "jpeg" ||testmsg.toLowerCase() === "gif" ||testmsg.toLowerCase() === "webp";const isLimit10M = file.size / 1024 / 1024 < 10;var bool = false;if (extension && isLimit10M) {bool = true;} else {bool = false;}if (!extension) {this.$message.error("请上传图片格式文件!");return bool;}if (!isLimit10M) {this.$message.error("文件太大,单个文件不能超过10M! ");return bool;}return bool;},handleExceed(files, fileList) {// console.log(files, fileList);this.$message.warning(` 一次最多上传5张,请分批次上传! `)},// 上传图片async fnUploadRequest(options) {// console.log(options);try {this.$loading.show()// console.log(options);let file = options.file; // 拿到 filelet res = await uploadOSS(file)// console.log(res);// 返回的就是图片地址this.$emit("imgData", res);this.$loading.hide()} catch (e) {this.$loading.hide()this.$message.error("上传图片失败!请重新上传");}},//图片上传成功回调handleSuccess(res) {// console.log(res);this.$refs.upload.clearFiles() //清除图片列表},},
};
</script>
<style  lang="scss" scoped>
::v-deep .el-upload,
::v-deep .el-upload--picture-card {// width: 50px;height: 24px;border: none;line-height: 0;display: block;background: #f5f6fb;
}
::v-deep .el-upload {width: 50px;
}
.img-cont {width: 50px;height: 24px;background: #f5f6fb;.img-icon {color: #ccc;}.img-text {font-size: 12px;height: 24px;color: #000;margin-left: 3px;}
}
</style>

其中的一些参数打印

重点是这句代码:每次成功后都清空数据列表

this.$refs.upload.clearFiles() //清除列表

element-ui图片上传组件之限制每次5张上传(或者自定义每次几张上传)相关推荐

  1. Element ui+vue前端框架组件主题美化后台管理系统模板html

    最新设计了一套Element ui主题模板 演示地址:Element ui+vue前端框架组件主题美化后台管理系统模板 Element ui版本号:2.15.12        vue版本号:2.7. ...

  2. element ui图片上传-实现单图上传

    1. 业务需求: 需要把多图上传的效果改造成为单图上传的效果 2. 效果展示 (1) 原来官网效果: https://element.eleme.cn/2.0/#/zh-CN/component/up ...

  3. Element UI 图片上传功能踩坑

     样式效果: <el-uploadmultipledragclass="upload-demo":headers="token"action=" ...

  4. element ui 图片控件 排序_Element-ui上传图片后隐藏上存控件

    在使用Element-ui el-upload组件的时候,发现我只想上存一张图片,比如头像的上存,然而上存一张后,控件还可以继续上存. 一下的方法是Element-ui上传图片后隐藏上存控件. 在el ...

  5. Element ui Avatar头像管理组件 实现当用户没有头像时 以名称最后一个字为头像

    el-avatar是一个比较方便的头像管理组件 src控制他的图片展示 <el-avatarclass = "avatar":src="item.images&qu ...

  6. 从Element ui看开发公共组件的三种方式

    在日常的开发工作中,封装自己的公共组件是很常见的需求,但想要组件更加优雅和通用也是一门学问.恰好前段时间用过Element ui,于是想学习这种库是如何封装插件的,这篇文章就是我的一点理解. 从入口文 ...

  7. axure element ui素材_【Axure分享】基于Element UI的Axure Web组件

    有一段时间没做过产品原型了,前一阵有一个web产品需要做原型,正好在搞前端,于是顺便把Element UI移植到Axure上,基本上实现了大部分的功能组件,部分过于繁琐的组件未实现. 自己觉得蛮满意的 ...

  8. element ui 图片加载失败_2.ElementUI之图片懒加载无法显示的问题,求教。

    在使用这个组件的时候,遇到了奇奇怪怪的Bug. 页面出来了,但图片的懒加载功能却没出来,没有实现官网给出的效果. 代码如下 这是gourmet world页面 11111 export default ...

  9. element ui 图片上传_游民晚播报:PS5手柄续航情况测试 UI界面概览放出

    各位朋友晚上好,现在为您带来今天的晚间播报.一起来回顾一下今天白天游戏圈内外都有哪些要闻.趣闻. 要闻回顾: 1.PS5 DualSense手柄续航情况 触觉反馈密集游戏更耗电 新闻原文:点击查看 P ...

  10. element ui 图片控件 排序_JAVA全栈面试前端基础之四 Vue+Element框架快速开发

    本文主要包括以下4个内容 什么是ElementUI Vue 中引入ElementUI Vue+elementUI构建后台管理系统 开源项目推荐 1.什么是ElementUI 官网:https://el ...

最新文章

  1. Android TextView 中间添加划线与 底部添加划线
  2. 微软职位内部推荐-Sr SDE for Win Apps Ecosystem
  3. Microsoft SQL Server Version List 版本列表
  4. php网页生命周期函数,PHP的生命周期
  5. 有哪些开源的 Python 库让你相见恨晚?
  6. java synchronized静态同步方法与非静态同步方法,同步语句块
  7. java cipher用法_java使用Cipher 执行RSA解密报错
  8. html显示文件代码提示,代码提示和代码完成
  9. java内存管理之内存模型
  10. 洛谷P3195 [HNOI2008]玩具装箱TOY——斜率优化DP
  11. python调用py文件并传参数_Python 参数传引用还是传值?
  12. 分享安卓SD卡的后台设置
  13. mysql查询每月最后一天数据_Mysql查询每个月的最后一天
  14. 梅西凑齐七个金球成功召唤神龙
  15. FP-Tree频繁模式树算法
  16. 【工具使用】怎么设置SSH隧道(Port Forwarding)
  17. 艺赛旗RPA 网页处理系列(一):在网页中的可变元素如何准确定位
  18. 如何根据选股条件选择基本面量化股票池?
  19. 来自 Google 的高可用架构理念与实践
  20. 【笔记】Java的运算符(赋值运算符号、一元运算符、算术运算符、关系运算符、自增与自减运算符、逻辑运算符、括号运算符、位运算符、三元(三目)运算符)、表达式与语句:简洁表达式

热门文章

  1. 山寨新浪微博——TabBarController
  2. Hbase跨集群数据同步验证
  3. 【Python表白小程序】七夕表白神器(赶紧收藏起来)
  4. 本地网络出现了一个意外的情况,不能完成所有你在设置中所要求的更改
  5. 区块链加持的家用摄像头能拯救你的隐私吗?
  6. matlab拟合sin函数原理,matlabsin函数拟合
  7. 第一章 Cheat Enginee(CE)使用指南
  8. Mono.Cecil FAQ文档翻译
  9. c# 图片裁剪并画中线
  10. Anton and currency you all know