vue+elementui实现图片上传
在Vue中使用Element UI实现图片上传功能,可以利用<el-upload>
组件。以下是一个简单的例子:
<template>
<el-upload
action="https://jsonplaceholder.typicode.com/posts/"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:file-list="fileList"
:on-success="handleSuccess"
>
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</template>
<script>
export default {
data() {
return {
dialogImageUrl: '',
dialogVisible: false,
fileList: []
};
},
methods: {
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
handleSuccess(response, file, fileList) {
console.log('图片上传成功', response, file, fileList);
}
}
};
</script>
在这个例子中,<el-upload>
组件用于上传图片,其action
属性设置为服务器接收上传文件的URL。list-type="picture-card"
表示以卡片形式展示文件列表。handleRemove
方法处理文件移除事件,handlePictureCardPreview
方法打开图片预览对话框,handleSuccess
方法处理文件上传成功后的响应。
请注意,action
属性的URL需要根据实际情况进行替换,并且服务器需要支持文件上传。此外,Element UI版本和Vue版本需要与示例代码兼容。
评论已关闭