el-select实现上传图片并回显图片
时间: 2023-11-14 21:57:04 浏览: 111
mvc-demo.zip
el-select 是 Element UI 提供的下拉选择器组件,本身并不支持上传图片并回显图片的功能。你可能需要结合其他 Element UI 组件,如 el-upload 和 el-image,来实现这个功能。
以下是一个示例代码,可以实现在 el-select 中选择图片上传,并在下拉框中回显图片:
```html
<template>
<el-select v-model="selectedImg" placeholder="Select image">
<el-option v-for="(img, index) in images" :key="index" :label="img.name" :value="img.url">
<el-image :src="img.url" :fit="fit" />
</el-option>
<el-option>
<el-upload
class="upload-demo"
:action="uploadUrl"
:show-file-list="false"
:on-success="handleSuccess"
>
<el-button size="small" type="primary">Click to upload</el-button>
</el-upload>
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
images: [
{ name: 'Image 1', url: 'https://via.placeholder.com/150' },
{ name: 'Image 2', url: 'https://via.placeholder.com/150' },
{ name: 'Image 3', url: 'https://via.placeholder.com/150' },
],
selectedImg: '',
fit: 'cover',
uploadUrl: '/api/upload', // replace with your own upload API URL
};
},
methods: {
handleSuccess(res) {
this.images.push({ name: res.name, url: res.url });
},
},
};
</script>
```
这个示例中,我们使用 el-option 组件来展示图片,并在其中嵌入 el-image 组件来显示图片。同时,在最后一个 el-option 中,我们使用 el-upload 组件来实现上传图片功能。上传成功后,会调用 handleSuccess 方法将新上传的图片信息添加到 images 数组中,从而实现图片的动态更新。
阅读全文