vue 订单列表 多个倒计时

js

复制代码
methods: {
  // 获取列表数据
  getList() {
    .
    .
    .
    // 判断数据是否含有倒计时
    this.orderData.forEach((item, index) => {
      // 有倒计时
      if (item.type == 1) {
        this.orderData[index].timer = setInterval(() => {
        this.Cuntdow(item.time, index)}, 1000)
      }
    })
    .
    .
    .
  },
  // 倒计时
    CountDown(time, index) {
      if (time > 0) {
        this.orderData[index].time--
      } else {
        clearInterval(this.order[index].timer)
      // 更新订单列表
         // update(OrderId)
      }
    },
}
复制代码

 html

复制代码
<template>
    <div>
    <ul>
      <li v-for="(item, index) in orderData" :key="index">
        <span v-if="item.type == 1 && item.time > 0">
          {{ item.time | formatStr }}
        </span>
      </li>
    </
ul></div> </template>
复制代码

 js(filter 过滤器格式化时间)

注:安装插件 moment 

复制代码
import moment from 'moment'
.
.
.
filters: {
    // 格式化时间
    formatStr(Val) {
      let time = moment.duration(Val, 'seconds')
      let DD = time.days() > 0 ? time.days() + '天' : ''
      let HH = `${time.hours() > 9 ? time.hours() : '0' + time.hours()}时`
      let mm = `${time.minutes() > 9 ? time.minutes() : '0' + time.minutes()}分`
      let ss = `${time.seconds() > 9 ? time.seconds() : '0' + time.seconds()}秒`
      return '剩余' + DD + HH + mm + ss
    },
  },
.
.
.
复制代码

 

posted @   落花看风雪  阅读(636)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示