当前位置: 首页 > news >正文

VUE饿了么UPload组件自定义上传

代码:

1.视图:

 <el-dialog :title="dialogTitle" width="30%" :visible.sync="dialogFormVisible" :destroy-on-close="true"><el-form ref="fileForm" class="items-align" ><el-form-item><el-upload:limit="1"class="upload-demo"accept=".xlsx, .csv, .xls"action = '':auto-upload="false":on-change = "onFileChange":on-exceed = "fileExceed":on-remove="handleRemove"drag><i class="el-icon-upload"></i><div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div><div class="el-upload__tip" slot="tip">只能上传excel文件</div></el-upload></el-form-item><el-form-item><el-link type="primary" download="resourceManagementDemo.xlsx" href="excel/resourceManagementDemo.xlsx">点击下载模版</el-link></el-form-item></el-form><div slot="footer" class="dialog-footer"><el-button @click="dialogFormVisible = false">取消</el-button><el-button type="primary" @click="fileUpload">确认</el-button></div></el-dialog>

最外层的el-dialog, :destroy-on-close="true",能够在关闭弹窗后销毁文件上传组件,清空文件列表。

2.JS:

onFileChange(file){// debuggerthis.fileList.push(file.raw)
},
fileExceed(){this.$alert("文件上传数量只能为1")
},
handleRemove(){this.fileList.pop()
},

3.文件上传POST

 fileUpload() {const url = '******'const form = new FormData();if(this.fileList.length==0){this.$alert("文件数量不能为0")return}form.append("file", this.fileList[0])const params = {*****}this.$axios.post(url, form, {params}).then(res=>{if(res.status==200&&res.data.result=="SUCCESS"){setTimeout(()=>{this.$alert("您的文件已导入","提示",{callback: (action) => {this.fileList = []this.render()},})},500)this.dialogFormVisible = false}else{this.$alert("导入失败,请重试")}},error=>{this.$alert("导入失败,请重试")})},
  • 不能传入prop, :file-list=“fileList”,传入之后on-change会捕捉on-remove事件,把删除的文件添加回fileList。
  • 必须处理on-remove事件, 否则文件没有被移出数组
  • 不能使用on-success钩子, 自定义上传该函数不生效
  • 设置不允许自动上传,:auto-upload="false"
  • action为组件自动上传的地址,必填属性,设置为空
http://www.lryc.cn/news/431880.html

相关文章:

  • 2.1概率统计的世界
  • SpringBoot使用QQ邮箱发送邮件
  • 使用 OpenCV 和 NumPy 进行图像处理:HSV 范围筛选实现PS抠图效果
  • IIS中间件
  • BMP280气压传感器详解(STM32)
  • DWPD指标:为何不再适用于大容量SSD?
  • 路由器的固定ip地址是啥意思?固定ip地址有什么好处
  • Java——踩坑Arrays.asList()
  • 前缀列表(ip-prefix)配置
  • 每日OJ_牛客_电话号码(简单哈希模拟)
  • 鸿蒙轻内核M核源码分析系列十二 事件Event
  • 基于 RocketMQ 的云原生 MQTT 消息引擎设计
  • AWVS/Acunetix Premium V24.8
  • [数据集][目标检测]灭火器检测数据集VOC+YOLO格式3255张1类别
  • 【技术警报】Redis故障启示录:当主节点宕机,如何避免数据“雪崩”?
  • 【基础】Three.js加载纹理贴图、加载外部gltf格式文件
  • 【区块链 + 人才服务】FISCO BCOS 区块链实训和管理平台 | FISCO BCOS应用案例
  • 联众优车持续加大汽车金融服务投入与创新,赋能汽车消费新生态
  • 基于yolov8的西红柿检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • PHP轻量级高性能HTTP服务框架 - webman
  • Python实现人工鱼群算法
  • 【网络安全】密码学概述
  • Java连接SSH
  • 怎么取消MAC 输入首字母总是自动变大写
  • 【无损检测】基于用深度学习的工业超声B-Scan 图像中的焊缝缺陷
  • iOS——GCD再学习
  • SVD降维
  • 剖析Cookie的工作原理及其安全风险
  • 规控面试复盘
  • Elastic Stack--ES集群加密及Kibana的RBAC实战