element-ui upload 上传组件中on-success 声明方法不生效问题
element
A Vue.js 2.0 UI Toolkit for Web
项目地址:https://gitcode.com/gh_mirrors/eleme/element
免费下载资源
·
最近在学习vue 2,实现element-ui 框架中upload 上传文件组件碰到的一些坑:
1.上传文件成功后on-success 声明的方法不执行。
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-change="handleChange"
:file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
官方模板是上面代码,但是我是实现自定义上传文件,禁用了action实现方式,添加
:auto-upload="false" ,然后实现:http-request="submitUpload",具体的调用上传文件接口在submitUpload方法中实现,但是这种方式调用成功后on-success 方法就不执行,改用官方默认的方式就能正常执行on-success 块中的代码
最后结论:应该是禁用了action 调用接口,实现自定义的http-request 实现,以至于on-success 在接口成功之后没有触发,这是自己试验后的结论,自己百度找不到具体的原因,也不知道是否准确。
下面是on-success方法不触发代码:
<el-upload class="" ref="upload" action=""
name="file" :on-preview="handlePreview" :file-list="fileList"
:on-success="uploadSuccess" :auto-upload="false"
:on-change="uploadChange" :http-request="submitUpload">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
</el-upload>
uploadSuccess(response, file, fileList) {
console.log(response );
},
submitUpload(){ //执行上传图片
this.axios({
method: 'post',
url: 'http://localhost:8090/uploadFile',
data: this.fileData,
timeout: 4000
// withCredentials: true
}).then((response) => {
//如果一定要实现on-success声明的方法只能这里显示的调用uploadSuccess方法
this.uploadSuccess(response);
})
},
GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45
7 个月前
a07f3a59
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update table.md
* Update transition.md
* Update popover.md 7 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)