vue+elementUI实现上传案例


实现对图片进行移除、上传、修改、点击图片对图片进行预览
1、html代码部分
<template>
<div>
<el-form :model="setupForm" ref="setupFormRef" label-width="100px">
<el-form-item label="登录LOGO" prop="logo">
<el-upload :action="uploadURL" :on-preview="handlePreview"
:on-remove="handleEditRemove2" list-type="picture" :headers="headerObj" :data="otherData" :on-success="handleEditSuccess2" multiple :limit="1" :file-list="fileList2">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="">
<el-button type="primary" @click="saveSetup">保存</el-button>
</el-form-item>
</el-form>
<!-- 预览图片 -->
<el-dialog title="图片预览" :visible.sync="previewDialogVisible" width="30%">
<img :src="PreviewPath" alt="" width="100%" height="auto">
<span slot="footer" class="dialog-footer">
<el-button @click="previewDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="previewDialogVisible = false">确 定</el-button>
</span>
</el-dialog>
</div>
</template>2、JavaScript代码部分
<script>
export default {
data(){
return {
setupForm: {
logo: '',
},
// 上传图片地址
uploadURL: domain +'upload',
// 图片上传请求头
headerObj:{token: window.localStorage.getItem('token')},
fileList1: [],
//上传附带额外参数
otherData:{
path:'setup'
},
previewDialogVisible: false,
PreviewPath:'',
}
},
created(){
},
methods:{
async saveSetup(){
const { data: res } = await this.$http.post('config/saveSys',this.setupForm)
if (res.code != 200) {
return this.$message.error(res.msg)
}
this.$message.success(res.msg)
},
// 处理移除图片的操作
handleRemove1(file) {
this.setupForm.logo = ''
},
// 监听处理图片上传成功
handleSuccess2(response){
this.setupForm.logo = response.data.path
},
// 处理编辑移除图片的操作
handleEditRemove2(file) {
this.setupForm.logo = ''
},
// 监听处理编辑图片上传成功
handleEditSuccess2(response){
this.setupForm.logo = response.data.path
// console.log(this.addForm)
},
//处理图片预览效果
handlePreview(file) {
this.previewDialogVisible = true
this.PreviewPath = file.url
console.log(file.url);
},
}
}
</script>更多上传参数介绍详看组件文档:https://element.eleme.cn/#/zh-CN/component/upload
关于简忆
简忆诞生的故事



粤ICP备16092285号
文章评论(0)