解决 element-ui Upload 上传组件,上传多个文件时 on-success 只触发了一次
解释:
element-ui
的 Upload
组件在默认配置下,当上传多个文件时,期望的 on-success
事件处理函数会对每个文件都调用一次。如果 on-success
只触发了一次,可能是因为配置错误或者事件处理代码中存在问题。
解决方法:
- 确保你的
Upload
组件配置了multiple
属性,允许选择多个文件。 - 确保没有在
on-success
中使用return false
或者在事件处理函数中调用了event.preventDefault()
,因为这会阻止进一步处理文件上传的默认行为。 - 确保你的
on-success
事件处理函数是正确绑定的,并且它的参数是正确的,它通常至少接收两个参数:response
和file
,其中file
应该是上传的每个文件的信息。 - 如果你使用的是
before-upload
钩子,确保它没有返回false
或者 Promise 被 reject,因为这可能会阻止文件上传。
示例代码:
<el-upload
action="your-upload-url"
:on-success="handleSuccess"
multiple>
<!-- 其他代码 -->
</el-upload>
<script>
export default {
methods: {
handleSuccess(response, file, fileList) {
console.log('Success:', response, file, fileList);
// 这里的代码会对每个上传成功的文件都执行
}
}
}
</script>
确保你的代码遵循上述建议,on-success
应该对每个文件都触发一次。如果问题依然存在,可能需要进一步检查你的代码逻辑或者提供更详细的错误信息。
评论已关闭