el-upload在已上传文件列表的每个文件后增加一个按钮
时间: 2024-09-25 19:12:07 浏览: 73
【JavaScript源代码】element-ui中el-upload多文件一次性上传的实现.docx
El-upload是一个基于Element UI的强大的文件上传组件,它可以帮助你在前端方便地处理文件上传操作。如果你想在已上传文件列表的每个文件后面增加一个按钮,你可以通过自定义上传成功的钩子函数来自定义文件项的内容。
首先,在你的`el-upload`组件上设置`on-success`属性,这个钩子会在文件上传成功后被触发:
```html
<el-upload
:action="uploadUrl"
:on-success="handleSuccess"
multiple
></el-upload>
```
然后在JavaScript里编写`handleSuccess`函数,这里可以使用`list`参数来访问已上传的文件列表,并在每个文件对象后面添加一个新的元素(比如一个按钮):
```javascript
export default {
methods: {
handleSuccess(response, file, fileList) {
const item = { ...file, // 复制当前文件对象
actions: ['删除'] // 新增一个数组,存储你想要的按钮操作
};
this.fileList.push(item); // 将修改后的文件对象添加到原文件列表中
},
},
};
```
在这个例子中,`actions`字段是新增的一个键值对,你可以在模板中遍历`fileList`并渲染每个文件后面的按钮:
```html
<template>
<el-upload-list>
<el-upload-item v-for="(item, index) in fileList" :key="index">
<span>{{ item.name }}</span>
<el-button slot="action" @click="handleAction(index)">{{ item.actions[0] }}</el-button> <!-- 这里是你要显示的按钮 -->
</el-upload-item>
</el-upload-list>
</template>
<script>
// ... 确保你在handleAction函数中能根据索引正确删除文件
</script>
```
阅读全文