mpvue循环列表给每项加定时器

3 篇文章 0 订阅
2 篇文章 0 订阅

mpvue循环列表给每项加定时器

项目需求:给所有订单设置退款倒计时限制
实现:

html结构
  <div  v-for="(link,key) in orderList" :key="key">
	   	<div>
	         <p style="color: #C8000A">退款倒计时:
	           	<span id="countTime">{{link.countdownTime}}</span>
	         </p>
		</div>
  </div>
//获取订单列表函数
getDataList(){
	 this.$get('/restapi/delivery/xxxx',{
      		id: xxxx
      })
      .then(function (res) {
      		this.orderList=res.data.data//订单列表
      		this.eosFormatTime2()//添加倒计时字段
      		
      })
}

//24小时倒计时函数
   eosFormatTime2() {
        var  _this=this;
        setInterval(()=>{
            _this.orderListArr=[];//定义一个新数组
            for (var key in _this.orderList) {
                var oldTimes=_this.orderList[key].created_at;
                var oldTimes1=new Date(oldTimes).getTime();
                var endTime=oldTimes1+24*3600*1000;     
                let time = new Date(endTime);                                                                            
                var now=new Date;
                var date = time.getTime() - now.getTime();   
                if(date<=0){
                    _this.orderList[key].countdownTime='00:00:00'
                }else{
                    var hours = Math.floor(date /1000/60/60%24);   
                    var minutes=Math.floor(date /1000/60%60);  
                    var seconds=Math.floor(date /1000%60);        
                    hours=hours<10?'0'+hours:hours;
                    minutes=minutes<10?'0'+minutes:minutes;
                    seconds=seconds<10?'0'+seconds:seconds; 
                    _thisorderList[key].countdownTime=hours+':'+minutes+':'+seconds
                } 
                _this.orderListArr.push(_this.orderList[key]);//因为定时器里改变原数组的值外面获取不到,所以借助新数组将修改后的每一项push到新数组
                _this.use() //将新数组的值赋给原数组
            }
        },1000)
       
        
    },
    use(){
           this.orderList=this.orderListArr;
     },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值