vue+element上传多张图片并回显

1.html代码

<el-upload class="avatar-uploader"
 :action="url"        请求的地址
 :headers='myheaders'  请求头
 :on-preview="handlePictureCardPreview"  点击文件列表中已上传的文件时的钩子
:on-remove="handleRemove"  文件列表移除文件时的钩子
:on-success='handleAvatarSuccess'  文件上传成功时的钩子
list-type="picture-card"   文件列表的类型
:limit='6'              最多上传个数
:on-exceed='handleonexceed'  超出个数限制时的钩子函数
:show-file-list='true' 已上传文件列表是否显示
:file-list='mageurls'>   上传的文件列表
<i class="el-icon-plus" ></i>  上传按钮
</el-upload>
预览
<el-dialog :visible.sync="dialogVisible">
  <img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>

2.js

export default {
		data() {
			return {
				url: '',  //上传接口  返回图片路径
				urls:"",//ip
		    	myheaders:'',//请求头
		    	imageUrls: [],//存放图片路径的数组
		  		dialogImageUrl: '',
		        dialogVisible: false,
				}
			},
			created: function() {
				this.urls=window.ip.baseurl   //ip
				this.url=window.ip.baseurl + "****" //自己的ip加接口
				this.myheaders={'adminSign': sessionStorage.getItem("adminSign")}//请求头
			},
			methods: {
				//删除时
				handleRemove(file, fileList) {
					this.mageurls=fileList
			      },
			      //点击图片预览时
			      handlePictureCardPreview(file) {  
			        this.dialogImageUrl = file.url;
			        this.dialogVisible = true;
			      },
				  //图片上传成功
				  handleAvatarSuccess(e,a){
					  this.mageurls.push(
					  {name:a.name,url:this.picc+e.Data})
				  },
				  //现在图片上传个数
				  handleonexceed(e){
					  this.$message.warning('最多上传六张图片');
				  },
			}
		}
			

3.css

去掉上传回显的动画
.el-upload-list__item {
	  transition: none !important;
	}
posted @ 2020-11-11 09:24  倔强的烤马铃薯  阅读(425)  评论(0)    收藏  举报  来源