AntDesign VUE:上传组件自定义限制的两种方式(Boolean、Promise)
AntD上传组件

第一种方式
beforeUpload(file) {
let isLt = true
if (filesSize) {
isLt = file.size / 1024 / 1024 <= filesSize
if (!isLt) {
this.$message.error('文件大小不能超过' + filesSize + 'MB!')
}
}
return isLt
}
这种方式写起来快速简单,但是组件中会留下一个可删除交互的上传痕迹,并且未返回响应数据。甚至还可能图片上传这个阶段还是完成了,组件依然发送了upload的http请求,这显然是一个不合理的交互效果。
第二种方式
通过Promise实现相同效果
beforeUpload(file) {
const _this = this
return new Promise(function(resolve, reject) {
if (file.size / 1024 / 1024 > filesSize) {
_this.$message.error(`文件大小不能超过 ${filesSize} MB`)
reject()
} else {
resolve()
}
})
}
这样在判断失败时,图片不会执行上传的任何步骤。
阅读我的另一篇文章,以了解上传图片和视频能做到的多种限制:
AntDesign VUE:上传组件图片/视频宽高、文件大小、image/video/pdf文件类型等限制(Promise、Boolean)
- END -
AntDesign VUE:上传组件自定义限制的两种方式(Boolean、Promise)的更多相关文章
- vue 路由传参 params 与 query两种方式的区别
初学vue的时候,不知道如何在方法中跳转界面并传参,百度过后,了解到两种方式,params 与 query.然后,错误就这么来了: router文件下index.js里面,是这么定义路由的: { p ...
- AspNetCore 文件上传(模型绑定、Ajax) 两种方式 get到了吗?
就目前来说,ASP.NET Core2.1了,已经相当成熟了,希望下个项目争取使用吧!! 上传文件的三种方式("我会的,说不定还有其他方式") 模型绑定 Ajax WebUploa ...
- 【React踩坑记四】React项目中引入并使用js-xlsx上传插件(结合antdesign的上传组件)
最近有一个前端上传并解析excel/csv表格数据的需求. 于是在github上找到一个14K star的前端解析插件 github传送门 官方也有,奈何实在太过于浅薄.于是做了以下整理,避免道友们少 ...
- iOS 自定义layer的两种方式
在iOS中,你能看得见摸得着的东西基本都是UIView,比如一个按钮,一个标签,一个文本输入框,这些都是UIView: 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIVi ...
- EntityFramework Core 2.0自定义标量函数两种方式
前言 上一节我们讲完原始查询如何防止SQL注入问题同时并提供了几种方式.本节我们继续来讲讲EF Core 2.0中的新特性自定义标量函数. 自定义标量函数两种方式 在EF Core 2.0中我们可以将 ...
- Android手机上监听短信的两种方式
Android手机上监听短信有两种方式: 1. 接受系统的短信广播,操作短信内容. 优点:操作方便,适合简单的短信应用. 缺点:来信会在状态栏显示通知信息. AndroidManifest.xml: ...
- sysUpload.vue上传组件 的时候 看进度的时候 不要mock 注释掉 // if (process.env.NODE_ENV !== 'production') require('@/mock')
上传组件 的时候 看进度的时候 不要mock 注释掉 // if (process.env.NODE_ENV !== 'production') require('@/mock') <!-- * ...
- upload控件上传json文件合并的两种方法
方法一: byte[] byte1 = FileUpload1.FileBytes; byte[] byte2 = FileUpload2.FileBytes; byte[] a1 = Encodin ...
- 自定义UITabBar的两种方式
开发中,经常会遇到各种各样的奇葩设计要求,因为apple提供的UITabBar样式单一,只是简单的"图片+文字"样式,高度49又不可以改变.自定义UITabBar成为了唯一的出路. ...
随机推荐
- linux之frp服务部署(内网穿透)
frp服务部署(内网穿透) 目的 更快的进行内网穿透调试以及云端开发测试 服务器为CentOS 7,客户端为win11 frp介绍 frp 是一个开源项目, 采用 C/S 模式,将服务端部署在具有公网 ...
- 我说AOP(面向切面编程)--藏在苹果里的五角星
这只是一篇入门理解! 一直听说AOP的名字,却从未使用过,因为我不会.但--那只是曾经-- 先看官方解释:AOP(Aspect-Oriented Programming,面向切面的编程),它是可以通过 ...
- 基于CAS实现SSO单点登录
1. 概述 1.1. 什么是SSO? 单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一 ...
- Windows 系统安装 git基础小白的简单操作包含基本输入命令
首先 去官网下载git应用 https://git-scm.com/downloads 点击前往 安装的操作也比较简单,一直点击下一步 安装完成之后 在空白桌面点击是否有 Git Gui ...
- 作为Java开发工程师,如何高效优雅地编写接口文档
作为一名优秀的Java开发工程师,编写接口文档向来是一件很头疼的事情.本来就被bug纠缠的很累了,你还让我干这? 其实,你可以试试ApiPost. ApiPost的定位是Postman+Swagger ...
- cs派生msf shell
msf5 > use exploit/multi/handler [*] Using configured payload windows/meterpreter/reverse_http ms ...
- C++//递增运算符重载
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 //重载递增运算符 6 7 //自定义 ...
- 百度地图API开发的快速使用和大量坐标点操作【点聚合,海量点,mapv】
快速上手 注意:本篇文章代码是基于 百度地图 JavaScript API v3.0 的条件下编写,GL版本可能稍有变化. 地图嘛,很重要的一部分就是坐标经纬度了: 经度: 英文 longitude ...
- 解决ftp登录问题:500 OOPS: cannot change directory:/home/xxx 500 OOPS: child died
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- 【笔记】二分类算法解决多分类问题之OvO与OvR
OvO与OvR 前文书道,逻辑回归只能解决二分类问题,不过,可以对其进行改进,使其同样可以用于多分类问题,其改造方式可以对多种算法(几乎全部二分类算法)进行改造,其有两种,简写为OvO与OvR OvR ...