vue 上传单个图片自定义增加progress改良用户体验

<el-tab-pane label="开发商logo" name="first" style="position: relative;">
    	<el-upload
		  class="avatar-uploader"
		  action="https://jsonplaceholder.typicode.com/posts/"		 
		  :show-file-list="false"
		  :on-success="handleAvatarSuccess"	
		  :on-error="handleAvatarError"
		  :on-remove="handleRemove"		  
		  :on-progress="handleProgress"
		  :before-upload="beforeAvatarUpload">
		  <img v-if="imageUrl" :src="imageUrl" class="avatar">
		  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
		  <p style="position: absolute;bottom: 0;background: rgba(0,0,0,.3);color:#fff;width: 100%;margin: 0;padding: 5px;">点击上传图片</p>
		  <el-progress v-show="showFlag" type="circle" :percentage="progressing" :status="status" style="position: absolute;top:10%;left:15%;" ></el-progress>		</el-upload>
    </el-tab-pane>

  

 handleProgress(){   
       	var _this = this;
       	clearInterval(this.time);
       	this.time = setInterval(function(){      		
       		if(_this.progressing<100){
       			_this.progressing += 10;//进程条
       		}else{      			
       		}       	
        },500)
       },
    	handleAvatarError(){
    	clearInterval(this.time);
    	this.status = 'exception';
    	 this.$message.error('上传图片失败!');
    	},
       handleAvatarSuccess(res, file) {
        this.imageUrl = URL.createObjectURL(file.raw);        
        this.progressing = 100;
        clearInterval(this.time)
        this.status = 'success';//进程状态
        var _this = this;
        setTimeout(function(){
        	 _this.showFlag = false;
        },2000)
        
      },  

  

转载于:https://www.cnblogs.com/jessical626/p/7126096.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值