el-upload php,解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题...

我要实现的功能是在上传文件之前校验是否表格中存在重复的数据,有的话,需要弹窗提示是否覆盖,确认之后继续上传,取消之后,就不再上传。

项目中用的element-ui是V1.4.3

class="upload-demo" drag

ref="fileUpload"

:action="urls.fileUpload"

:on-success="handleUploadSuccess"

:on-error="handleUploadError"

:on-progress="progressUpload"

:before-upload="beforeUpload"

show-file-list

multiple>

点击上传,或者拖拽到这里

91c4654fa29b41794a792859406ba3d0.png

代码中我是将before-upload方法返回false,然后点击确认之后,调_this.$refs.fileUpload.submit();但是在点击确定之后,文件还是没有上传,后面去看了element-ui源码,发现before-upload方法如果返回false,submit()方法是会被拦截的。

还有第二个问题,就是取消时_this.$refs.fileUpload.clearFiles();我调的clearFiles()方法,这个方法会把文件列表全部清空,我只想删除我当时取消的那个文件。

后面将这两句换成了如下两句:

9aab6464c011b70f1987fd1485f44a6a.png

继续上传:_this.$refs.fileUpload.$children[0].post(file);

取消时在文件列表中删除该文件:_this.$refs.fileUpload.handleRemove(file);

补充:VUE2.0 element upload使用

class="upload-demo"

ref="upload"

multiple="false"

action="/web/api/uploadFile"

:on-preview="handlePreview"

:on-remove="handleRemove"

:on-change="handleChange"

:before-upload="beforeUpload"

:file-list="fileList"

:auto-upload="false"

:multiple="false">

选取文件

导入

只能上传jpg/png文件

export default {

data() {

return {

fileList: []

}

},

mounted: function () {

//加载完页面执行的函数

},

methods: {

submitUpload() {

this.$refs.upload.submit();

},

handleRemove(file, fileList) {

console.log(file, fileList);

},

handlePreview(file) {

console.log(file);

},

handleChange(file, fileList){

console.log(file);

console.log(fileList);

},

beforeUpload: function (file) {

console.log(file)

//这里是重点,将文件转化为formdata数据上传

let fd = new FormData()

fd.append('file', file)

this.$http.post('/web/api/uploadFile', fd).then((res) => {

console.log(res)

}, (res) => {

console.log(res)

});

return false;

}

},

components: {

// 组件

}

}

.uptemp .el-upload-list {

position: absolute;

left: 140px;

top: 0;

width: 50%;

}

.uptemp {

position: relative;

}

.uptemp .el-upload-list .el-upload-list__item {

margin-top: 0;

}

总结

以上所述是小编给大家介绍的解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值