element ui upload上传图片给同一数组指定的不同对象赋值实例
时间: 2023-09-30 22:12:21 浏览: 82
element-ui upload组件多文件上传的示例代码
假设你有一个数组叫做`imageList`,里面有两个对象分别为`object1`和`object2`,你想要通过 Element UI 的 Upload 组件上传图片,并将图片分别赋值给这两个对象的`image`属性。可以参考下面的示例代码:
```html
<template>
<el-upload
class="upload-demo"
action=""
:before-upload="beforeUpload"
:on-success="handleSuccess"
:show-file-list="false"
>
<el-button slot="trigger" size="small" type="primary">上传图片</el-button>
</el-upload>
</template>
<script>
export default {
data() {
return {
imageList: [
{ id: 1, name: 'object1', image: '' },
{ id: 2, name: 'object2', image: '' }
],
currentObject: null
};
},
methods: {
beforeUpload(file) {
// 通过 file.name 判断当前上传的图片对应的对象
this.currentObject = this.imageList.find(item => item.name === file.name.split('.')[0]);
},
handleSuccess(response, file, fileList) {
this.currentObject.image = URL.createObjectURL(file.raw);
}
}
};
</script>
```
在代码中,我们使用了`before-upload`钩子函数获取当前上传的文件对应的对象,然后将其赋值给`currentObject`属性。
在`handleSuccess`方法中,我们使用`URL.createObjectURL`方法将上传的图片转为 URL 对象,并将其赋值给`currentObject.image`属性。这样就实现了将上传的图片分别赋值给不同对象的`image`属性的功能。
阅读全文