在 Element UI 中,el-upload 组件可以用于实现文件上传功能,支持多文件上传。如果需要实现等待上一个文件上传完成后再触发下一个文件上传,可以通过在上传前检查是否有文件正在上传来实现。
首先,我们需要在组件的 data 中定义一个变量,用于标记是否有文件正在上传
data() {
return {
fileList: [],
uploading: false
};
},
接下来,在 beforeUpload 方法中,我们可以检查 uploading 变量的值,如果有文件正在上传,就不处理当前文件,等待上一个文件上传完成:
beforeUpload(file) {
if (this.uploading) {
return false; // 如果有文件正在上传,就不处理当前文件,等待上一个文件上传完成
}
// ... 文件校验逻辑
this.uploading = true; // 标记有文件正在上传
return true;
}
在上传成功和上传失败的处理方法中,都需要标记上传完成,以便在下一次上传之前检查是否有文件正在上传:
handleSuccess(response, file, fileList) {
console.log(response, file, fileList);
this.uploading = false; // 标记上传完成
},
handleError(error, file, fileList) {
console.log(error, file, fileList);
this.uploading = false; // 标记上传完成
}