微信小程序> 微信小程序——订单列表倒计时

微信小程序——订单列表倒计时

浏览量:557 时间: 来源:龙之家

       由于最近两三个月一直在做一个项目,导致这短时间也没有时间写博客,现在项目基本结束,下面就将项目中遇到的问题记录下,便于以后查阅方便,同时给需要的人一点思路

       今天主要讲解下微信小程序中遇到的一个问题——订单列表中待支付订单的支付倒计时问题。废话不多说,先给出主要解决代码:

  /**   * 未支付订单倒计时   */  countDown:function(){    var that = this;    that.data.timer = setInterval(function () {      var orders = that.data.orderArray;      for (var i = 0; i  orders.length; i++) {        var status = orders[i].status;        if (status == 0) {          var create_time = orders[i].create_time;          //计算剩余时间差值          var leftTime = (new Date(create_time).getTime() + 30 * 60 * 1000) - (new Date().getTime());          if (leftTime  0) {            //计算剩余的分钟            var minutes = util.formatNumber(parseInt(leftTime / 1000 / 60 % 60, 10));            //计算剩余的秒数            var seconds = util.formatNumber(parseInt(leftTime / 1000 % 60, 10));            var left_time = minutes + ":" + seconds;            orders[i].left_time = left_time;          }else{            //移除超时未支付的订单            orders.splice(i, 1);          }        }      }      that.setData({        orderArray:orders      });    }, 1000);  },

讲解:定义一个定时器,每秒执行一次。定时器内对订单列表数组进行遍历,根据订单的状态,只处理未支付订单,根据自己的业务逻辑计算订单支付剩余时间(我的订单支付时间是30分钟),如果剩余时间大于0,格式化剩余时间并显示,否则移除超时未支付的订单(防止重复遍历)。最后,不要忘记数据回写setData,否则剩余支付时间不会显示!!!

       在退出页面的时候,不要忘记清除定时器

  /**   * 生命周期函数--监听页面卸载   */  onUnload: function () {    clearInterval(this.data.timer);  },

让我们一起遨游在代码的海洋里!

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎