[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
在elementui 的上传组件中实现单文件上传,使用:limit=“1”
属性限制选择文件个数,有个弊端就是当选择完一个文件之后就不能再继续选择文件,这并不是产品经理想要的,我们期望的结果是:当再次选择时直接覆盖上次上传的文件,保证文件列表中只有一个文件。
* accept属性可以限制文件类型,file-list是文件列表,action绑定文件上传路径
* 当手动提交文件时,使用this.$refs.upload.submit()来上传文件
* 选择文件可以触发钩子函数on-change,因此在on-change钩子函数中去操作。 //组件 <el-upload class=
"upload_wrap" ref="upload" action="uploadUrl" accept=".png" :auto-upload="false"
:file-list="fileList" :on-progress="onProgress" :on-change="onChange"> <el-
button slot="trigger" type="text"><i class="el-icon-upload" style=
"font-size:16px"></i>上传文件</el-button> <el-button style="margin-left: 10px;" size
="small" type="success" @click="submitUpload">上传到服务器</el-button> <div slot="tip"
class="el-upload__tip">只支持上传.h5文件,文件最大不得超过2G</div> </el-upload> //方法 //
限制文件上传的个数 onChange(file, list) { if (list.length > 1 && file.status !== "fail")
{ list.splice(0, 1); } else if (file.status === "fail") { errorMsg("上传失败,请重新上传!"
); list.splice(0, 1); } }, // 上传之前限制文件格式 beforeUp(file) { const isH5 = file.name
.split(".")[1] === "png"; const isLt2G = file.size / 1024 / 1024 / 1024 < 2; if
(!isH5) { errorMsg("仅支持上传.png文件"); } if (!isLt2G) { errorMsg("上传文件大小不能超过 2G!");
} return isH5 && isLt2G; }, submitUpload() { this.$refs.upload.submit(); },
//样式,去掉过渡动画 .upload_wrap { display: flex; flex-direction: column; align-items:
flex-start; } /deep/ .el-list-enter-active, /deep/ .el-list-leave-active {
transition: none; } /deep/ .el-list-enter, /deep/ .el-list-leave-active {
opacity: 0; } /deep/ .el-upload-list__item-name { width: 300px; } /deep/ .el-
upload-list { height: 40px; }