el-upload子组件fileList传给父组件
时间: 2024-11-22 20:29:22 浏览: 13
【JavaScript源代码】vue el-upload上传文件的示例代码.docx
在Vue.js的`el-upload`组件中,`fileList`是一个用于存储上传文件信息的对象数组,它通常通过props从子组件传递给父组件。`el-upload`是Element UI库中的一个上传组件。
当用户选择文件或者上传成功后,`fileList`会包含每个文件的详细信息,如文件名、大小、URL等。为了将这个列表传递给父组件,你可以按照以下步骤操作:
1. **在子组件中设置prop**:
子组件模板内,例如在`<el-upload>`标签内,添加`ref`并绑定一个属性,然后使用`v-model`将`fileList`作为值传递出去:
```html
<el-upload :action="uploadUrl" ref="uploadRef" v-model="fileList">
<!-- 其他上传配置 -->
</el-upload>
```
并在数据部分设置`fileList`:
```javascript
export default {
data() {
return {
fileList: [],
};
},
// ...
}
```
2. **在子组件方法里更新list**:
当文件上传状态改变时(如上传成功),可以在子组件的方法里更新`fileList`,然后父组件就能接收到新的文件列表了。
3. **在父组件接收prop**:
父组件需要监听子组件的`$emit`事件来获取文件列表:
```javascript
template:
<div>
<child-component @file-list-changed="handleFileListChange"></child-component>
<!-- ... -->
</div>
methods: {
handleFileListChange(fileList) {
this.fileList = fileList;
}
}
```
阅读全文