vue使用 elementUI中el-upload的遇到的问题总结
使用场景,使用el-upload上传文件,选择文件后不立即上传到服务器上,点击提交按钮时与其他form表单数据一起提交,类似的需求,相信有很多小伙伴遇到,可能也会遇到跟我一起的问题,在这里记录一下
<el-upload
class="upload-file"
action=""
:on-change="handleChange">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
问题1:el-upload文件上传组件,设置auto-upload为false,on-change事件只触发一次
由于原生的input type="file"不管文件上传成功与否,已添加的文件已经被记录了,所以上传文件时,不会触发change事件,这里我们就把已经添加的文件记录清除来解决该问题
html(给el-upload添加ref属性)
<el-upload
class="upload-file"
ref="upload"
action=""
:on-change="handleChange">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
javascript(使用一个变量保存已上传的文件)
handleChange(file) {
this.file = file;
this.$refs.upload.clearFiles(); // 清空文件
}
问题2:file与form表单数据一起提交
/** 保存 */
saveUpload() {
if (!this.file) return this.$message.warning('请选择文件')
this.param = new FormData()
// 文件
this.param.append('file', this.file.raw, this.file.name)
// ID
this.param.append('id', this.id)
const token = JSON.parse(localStorage.getItem("token")) || ''
// 设置请求头
let config = {
headers: {
'Content-Type': 'multipart/form-data',
'Authorization': token
}
};
axios.post(this.uploadUrl, this.param, config).then(
response => { console.log('res', response) },
err => { reject(err); }
).catch((error) => { reject(error) })
}
至此,问题总结记录完毕
vue使用 elementUI中el-upload的遇到的问题总结的更多相关文章
- vue 使用element-ui中的Notification自定义按钮并实现关闭功能以及如何处理多个通知
使用element-ui中的Notification,只有一个message属性是有很大的操作空间,其余的都是写死的,无法进行扩展,达不到想要的效果.所以只能在message上下功夫. 在elemen ...
- Vue上传文件:ElementUI中的upload实现
一.上传文件实现 两种实现方式: 1.直接action <el-upload .利用before-upload属性 此种方式有个弊端,就是action是必选的参数,那么action如果和pos ...
- vue --》elementUI 中 el-table组件 如何实现点击列,让该列高亮显示 ?
在elmentui官网中,只给了让当前行高亮显示的方法,但是如何让当前列高亮显示呢? <template> <div> <el-table :data="tab ...
- 理解vue之element-ui中的 <template slot-scope="scope">
https://blog.csdn.net/tg928600774/article/details/81945140?utm_source=blogxgwz1
- element-UI 中的upload组件如何添加token?
<el-upload :show-file-list="false" :on-error="errmsg" :headers="headers& ...
- vue将指定区域的表格数据或element-ui中el-table的数据单笔或多笔批量导出excel
公司在后台管理系统开发中用到了 vue+element-ui 组合的框架,但随着需求的越来越复杂,前端的工作难度也呈几何倍数递增,工作量随之增大.这不,在项目中增加一个将列表数据导出为excel的需求 ...
- vue+element-ui中的图片获取与上传
vue+element-ui中的图片获取与上传 工作上接触了一下图片的处理,图片的格式是文件流, 记录如下. 请求图片 请求图片的时候,带上{ responseType: 'blob' }, 否则图片 ...
- vue element-ui中引入第三方icon
vue element-ui中引入第三方icon 把图标加入项目 设置项目名称,下载项目(项目名称自定义) 解压项目到开发目录 在main.js中全局引入css文件 修改下载下来的项目中的css文件, ...
- Vue、Element-ui项目中如何使用Iconfont(阿里图标库)
我们使用element-ui.vue开发网站的时候,往往图标是起着很重要的作用. 下面是vue.element-ui项目,如何使用阿里iconfont图标库的方法. 准备工作 1. 先注册,再登录.找 ...
- 在vue项目中的main.js中直接使用element-ui中的Message 消息提示、MessageBox 弹框、Notification 通知
需求来源:向后台请求数据时后台挂掉了,后台响应就出现错误,不做处理界面就卡住了,这时需要在main.js中使用axios的响应拦截器在出现相应错误是给出提示.项目使用element-ui,就调用里面的 ...
随机推荐
- 实现一个 SEO 友好的响应式多语言官网 (Vite-SSG + Vuetify3) 我的踩坑之旅
在 2023 年的年底,我终于有时间下定决心把我的 UtilMeta 项目官网 进行翻新,主要的原因是之前的官网是用 Vue2 实现的一个 SPA 应用,对搜索引擎 SEO 很不友好,这对于介绍项目的 ...
- react build 后,打包后自动将index.html copy 404.html - create-react-app 创建的项目
起因:build上传gitee,启用路由需要404.html自动跳转 当前环境 create-react-app 搭建的架子 解决方案 由于默认的时候把build.js打包,无法查看,只好eject ...
- AirPlay、DLNA、Miracast三大无线应用协议科普
作为经常玩wifi的,wifi的应用层协议就要好好分析一下,做一些特殊的应用,还是非常有必要的.这里,就给学习一下wifi的三大无线传输技术. AirPlayAirPlay 是苹果开发的一种无线技术, ...
- docker安装kafka和zookeeper
参考,欢迎点击原文:https://www.cnblogs.com/360minitao/p/14665845.html(主要) https://blog.csdn.net/qq_22041375/a ...
- 译:使用现代的 Node.js 构建简单的CLI工具
原文地址: https://evertpot.com/node-changelog-cli-tool/ 作者: Evert Pot 发布时间:2023-02-13 只使用 Node.js 的标准库,不 ...
- webapi通过docker部署到Linux的两种方式
docker 安装官网 删除docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ ...
- mysql where子句 区分 大小写
解决办法 使用binary关键字,此时就能区分大小写了 SELECT * FROM `tb_test` WHERE BINARY COL_1='abc'
- PostgreSQL与Java JDBC数据类型对照 源码
文件:postgresql-42.2.12.jar 类名:org.postgresql.jdbc.TypeInfoCache // basic pg types info: // 0 - type n ...
- 运行xxl-job,整合xxl-job至jeecg-boot项目
1.前言:xxl-job是一个分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用. 源码仓库地址:https://gitee.co ...
- 【已解决】ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)---mysql数据库本地服务器localhost连接失败
出现错误mysql数据库本地服务器localhost连接失败: 1.输入命令 mysql -uroot -p 输入密码进入数据库发现错误 2.输入命令 mysqld --install 出现Serv ...