element plus: el-upload详解

11 篇文章 0 订阅
<el-upload
	ref="uploadRef"
	:limit="1" // 上传几个
	accept=".xlsx, .xls"  // 支持的格式
	:headers="headers" 
	:action="http//:shangchuan.com"
	:disabled="false" // 是否禁用
    :before-upload="onBeforeUploadFun"
	:on-progress="handleFileUploadProgress"
	:on-success="handleFileSuccess"
	:on-error="handleFileError"
	:auto-upload="true"
    :data="postData"
	drag  // 支持拖拽
	multiple  // 支持一次上传多个文件
    >
	<i class="el-icon-upload"></i>
	<div class="el-upload__text">
		将文件拖拽到此处,或
		<em>点击上传</em>
	</div>
	<template #tip>
		<div class="el-upload__tip text-center">
			jpg/png files with a size less than 500kb
		</div>
	</template>
</el-upload>
首先这里要先注意一个属性 auto-upload
auto-upload = true 时,

打开自动上传 action起作用
data=“{user: ‘li’}” 传参
before-upload
上传文件之前的钩子,参数为上传的文件, 若返回false或者返回 Promise 且被 reject,则停止上传
也就是这里可以 获取到file文件
on-success: active中接口成功返回事件
on-error: active中接口失败返回事件
on-progress: 文件上传时的钩子,这里可以在上传时禁用上传功能,成功后打开,起个优化的作用

const onBeforeUploadFun = (file: any) => {
  // 以 m(兆)为单位,判断文件大小,超出范围提示用户,false就会停止上传
  retrun imgSize = file.size / 1024 / 1024 < 20;
};
auto-upload = false 时

关闭自动上传 action不起作用,
on-change 事件中获取 file文件流

const onChangeFun = (rawFile: any) => {
  const formData = new FormData();
  formData.append("user", "li");
  formData.append("num", 222);
  formData.append("file", rawFile.raw);
}

header

const headers = () => {
	return {
		Authorization: 'Bearer ' + "533eb984",
		'TENANT-ID': 12
	};
};

清空当前 upload的内容

const uploadRef = ref();
uploadRef.value.clearFiles();
这种写法是vue3.0的写法

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值