element upload 设置http-request,auto-upload为false后不触发beforeUpload怎么解决
时间: 2024-01-09 11:04:32 浏览: 220
element-ui 中使用upload多文件上传只请求一次接口
5星 · 资源好评率100%
如果您在使用 Element 的 Upload 组件时设置了 `http-request` 属性,并且将 `auto-upload` 属性设置为 false,但是 `before-upload` 事件仍然没有触发,可以尝试以下解决方案:
1. 确保 `before-upload`、`http-request` 和 `auto-upload` 属性都被正确设置了。
2. 检查上传的文件是否符合 `before-upload` 方法中的验证规则,如果文件不符合规则,`before-upload` 方法将不会触发。
3. 确认上传按钮是否正确绑定了 `uploadFiles` 方法。在 `auto-upload` 为 false 的情况下,需要手动调用 `uploadFiles` 方法来触发上传操作。
4. 尝试在 `uploadFiles` 方法中手动触发 `before-upload` 方法,可以通过在 `uploadFiles` 方法中调用 `beforeUpload` 方法来实现,例如:
```
<el-upload
:before-upload="beforeUpload"
:http-request="httpRequest"
:auto-upload="false"
>
...
</el-upload>
methods: {
beforeUpload(file) {
// ...
},
httpRequest(params) {
// ...
},
uploadFiles() {
// 手动触发 beforeUpload 方法
this.beforeUpload(this.uploadFilesList[0])
// 手动调用上传方法
this.$refs.upload.submit()
}
}
```
这样就可以手动触发 `before-upload` 方法,并且手动调用上传方法了。
阅读全文