el-upload fileList 挨个上传
时间: 2024-09-21 13:01:32 浏览: 26
elemetUi 组件–el-upload实现上传Excel文件的实例
5星 · 资源好评率100%
`el-upload` 是 Element UI 提供的一个用于文件上传的功能组件,在 Vue.js 中常用于处理用户上传文件的操作。`fileList` 是这个组件的一个重要属性,它是一个数组,用来存储已经选中的文件信息,包括文件名、URL 等。
当你需要挨个上传 `fileList` 中的文件时,你可以通过遍历数组,对每个文件调用 `upload` 方法,并传入对应的文件对象。这是一个简单的示例:
```html
<template>
<el-upload
:action="uploadUrl"
:on-success="handleSuccess"
multiple
list-type="text" <!-- 或者 "picture-card", "file" 根据需求选择 -->
ref="upload"
>
<el-button>点击选择文件</el-button>
<el-button type="primary" @click="submitFiles">开始上传</el-button>
</el-upload>
</template>
<script>
export default {
data() {
return {
fileList: [], // 初始化为空数组
uploadUrl: 'your/upload/url', // 服务器接收文件的 URL
};
},
methods: {
handleSuccess(response, file) {
// 文件上传成功后,可以在这里更新状态或显示上传成功的提示
console.log('文件 "' + file.name + '" 上传成功');
this.fileList = [...this.fileList, { name: file.name, url: response.url }];
},
submitFiles() {
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.$refs.upload.submit(this.fileList[i]); // 对每个文件进行单独上传
}
} else {
alert('请先选择文件');
}
},
},
};
</script>
```
在这个例子中,`submitFiles` 方法会遍历 `fileList`,并调用 `submit` 方法来逐个上传文件。每次上传完成后,成功响应的数据会被保存到 `fileList` 中。
阅读全文