ElementUI实现多图片上传及回显功能
<template>
<div>
<!-- 图片列表 -->
<el-upload
:action="uploadUrl"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-success="handleSuccess"
:file-list="fileList"
:before-upload="beforeUpload">
<i class="el-icon-plus"></i>
</el-upload>
<!-- 查看图片 -->
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
uploadUrl: '你的图片上传接口',
fileList: [], // 图片列表
dialogImageUrl: '', // 查看图片的url
dialogVisible: false // 查看图片的弹窗状态
};
},
methods: {
// 图片预览
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
// 图片删除
handleRemove(file, fileList) {
// 删除图片时的操作,如发送请求到后端删除服务器上的图片
// ...
},
// 图片上传成功
handleSuccess(response, file, fileList) {
// 上传成功后的操作,如将返回的图片地址保存到fileList中
// fileList.push({ name: file.name, url: response.data.url })
},
// 图片上传之前
beforeUpload(file) {
const isJPG = file.type === 'image/jpeg';
const isLT2M = file.size / 1024 / 1024 < 2;
if (!isJPG) {
this.$message.error('上传头像图片只能是 JPG 格式!');
}
if (!isLT2M) {
this.$message.error('上传头像图片大小不能超过 2MB!');
}
return isJPG && isLT2M;
}
}
};
</script>
这段代码展示了如何使用ElementUI的<el-upload>
组件实现图片的多文件上传及图片列表的展示。同时,它还包含了图片预览和删除的功能,以及对上传图片的格式和大小的校验。这是一个非常实用的功能实现,适用于大多数需要实现图片上传的Web应用程序。
评论已关闭