倒计时列表实现(小程序端&Vue)

2023-11-02

//rich-text主要用来将展示html格式的,可以直接使用这个标签
<view class="ptBox" v-for="(item,index) in orderList" :key="index">   
    <rich-text :nodes="item.limit_time|limitTimeFilter"></rich-text>  
</view>

引入工具方法

import {formateTimeStamp} from '@/utils/index.js'
filters: {
    // 拼团有效期的filter
    limitTimeFilter (val){
        if (val > 0) {
            let formateLimitTimes = formateTimeStamp(val);
            let txt = `<div style="display:inline-block;padding:0 2px; color:#ffffff; height:43rpx; line-height: 43rpx; background-color: #F32B2B;border-radius: 4rpx ;">
                            ${formateLimitTimes.hour}
                        </div>
                        <div style="display:inline-block;color:#F32B2B; margin:0 5rpx;">:</div>
                        <div style="display:inline-block;padding:0 2px; color:#ffffff; height:43rpx; line-height: 43rpx; background-color: #F32B2B;border-radius: 4rpx ;">${formateLimitTimes.min}</div>
                        <div style="display:inline-block;color:#F32B2B; margin:0 5rpx;">:</div>
                        <div style="display:inline-block;padding:0 2px; color:#ffffff; height:43rpx; line-height: 43rpx; background-color: #F32B2B;border-radius: 4rpx ;">${formateLimitTimes.seconds}</div>`;
            return txt;
            } else {
            const twtxt = `0 时 0 分 0 秒`
            return twtxt;
            }
    } 
}, 
async findPinTuanOrderVos(){
    try{ 
        let res=await findPinTuanOrderVos(); 
        //数组返回的restHour:剩余小时
        //restMinute :剩余分钟
        //restSecond :剩余秒
        this.orderList=res.map((vs)=>{ //更新数组
            return { 
            //将返回的时分秒,计算成时间戳
...vs,limit_time:Number(vs.restHour*3600)+Number(vs.restMinute*60)+Number(vs.restSecond) }
        })
        this.ticker = setInterval(() => { //执行循环
            for(let i=0;i<res.length;i++){  
                    //每循环一次将时间戳减一
                this.orderList[i].limit_time=this.orderList[i].limit_time - 1
               
            } 
        },1000)
    }catch(v){
        
    } 
},

工具类封装

//utils/index.js

// 计算出时间戳的具体数据:比如将85400转化为 n时n分n秒
export function formateTimeStamp (timeStamp) {
  var hour;
  var min;
  var seconds;

  hour = parseInt(timeStamp / (60 * 60)) // 计算整数小时数
  var afterHour = timeStamp - hour * 60 * 60 // 取得算出小时数后剩余的秒数
  min = parseInt(afterHour / 60) // 计算整数分
  seconds = parseInt(timeStamp - hour * 60 * 60 - min * 60) // 取得算出分后剩余的秒数

  if (hour < 10) {
    hour = '0' + hour
  }

  if (min < 10) {
    min = '0' + min;
  }

  if (seconds < 10) {
    seconds = '0' + seconds;
  }

  const restTime = {
    hour: hour,
    min: min,
    seconds: seconds
  }
  return restTime
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

倒计时列表实现(小程序端&Vue) 的相关文章

  • hdoj1007

    由于这道题数据的特点 按照x排序会莫名其妙的TLE 按y排序就好了 也不需要什么辅助数组 一个p数组足矣 546ms AC 按照数组已经排序好的特点 如果从左边取一个点 它和右边取的一个点的y差值大于min d 就不需要继续从右边取点了 因

随机推荐

  • day29

    目录 01 反馈 02 回顾 03 并发访问MySQL 问题概述 并发访问的问题 04 并发访问MySQL 问题演示 05 并发访问MySQL read committed解决脏读问题 06 并发访问MySQL repeatable rea
  • 高并发解决方案相关面试题

    什么是DNS解析域名 DNS域名解析就是讲域名转化为不需要显示端口 二级域名的端口一般为80 的IP地址 域名解析的一般先去本地环境的host文件读取配置 解析成对应的IP地址 根据IP地址访问对应的服务器 若host文件未配置 则会去网络
  • C# 设置窗体自适应屏幕分辨率

  • 把Spring Boot项目打为可执行jar包

    前言 这两天没太多事了 就去学了一下后端的内容 发现只要有基础了 学其他的还是挺快的 本篇解决的是SpringBoot打成可执行的jar包 在网上找别人直接用命令 可是我这边显示错误 于是就自己查了查 记录一下 步骤 使用IDEA 一 使用
  • ValueError: check_hostname requires server_hostname解决方法

    问题描述 使用cookies登录twitter 由于科学上网的原因 电脑开了代理 会出现这个错误 尝试的解决方法 关闭代理 不能科学上网 pass 添加proxy proxy https http 8 88 888 8 8888 报另一个错
  • 自动化平台搭建之代码结构总览

    自动化框架总体工程结构 之前写了一篇 自动化平台搭建之定制log系统 确切说是还没写完 由于自己能力有限 自底向上进行搭建框架时很容易陷入到一个模块的详细实现中 所以尝试锻炼一下自顶向下的思维方式 先把整个框架搭起来 然后再对每个模块的具体
  • python调整对齐的快捷键

    选中对应的行 1 快捷键组合为ctrl键和 键 ctrl 或者 2 快捷键组合为ctrl键和 键 ctrl
  • 数据可视化图表,你选对了吗?

    戳蓝字 CSDN云计算 关注我们哦 Photo by Jason Coudriet on Unsplash 文 邻川 来源 阿里巴巴中间件 程序员懂画图 一宝变三宝 继上期 阿里程序员小技巧 中 阿里巴巴技术专家三画分享了他关于 如何画好架
  • Index was outside the bounds of the array.错误解决

    今天在SL中遇到了Index was outside the bounds of the array 这个错误 对比了不同的类 调试了近2个小时 未发现类的异常 于是重建dbml文件 测试通过 可能是在dbml文件进行多次修改时 有些类进行
  • 100天精通Python(基础篇)——第28天:函数学习

    函数传参 def add x y print f x y x y add 1 2 add 2 3 add 4 5 add 9 8 5 9 返回值 def add x y return x y print f x y x y r add 1
  • Kali Linux 从入门到精通(二)-安装

    Kali Linux 从入门到精通 二 安装 Kail Linux 安装 持久加密USB安装 1 LUSK Linux Unified Key Setup 磁盘分区加密规范 不依赖与操作系统的磁盘级加密 Window DoxBox 后端 d
  • python根据指定的数据(实验表格)绘制三维曲面图

    本文记录对于给定数据用python绘制三维曲面图的一个可用代码 文章目录 一 需求 二 代码及注意点 三 完整代码 一 需求 将上述表格中的数据绘制成三维曲面图 二 代码及注意点 首先输入X轴及Y轴数据 X np array 3 4 5 6
  • DDL与DML

    1 DDL和DML的含义 DML Data Manipulation Language 数据操纵语言 适用范围 对数据库中的数据进行一些简单操作 如 insert delete update select 等 DDL Data Defini
  • 2023年2月27日-3月12日(抄lidarpointcloud源码,10小时,合计1959小时,剩余8081小时)

    根据月计划 目前 ue视频教程进行到了智 慧 城 市 3 12 mysql 7 1 tf1 4 11 蓝图反射 1 9 moba 1 5 webapp 2 4 mmoarpg 00A 04 fps1 5 socket 2 57 Opengl
  • ARP协议原理

    引言 从前一篇文章中 我们知道计算机中会维护一个ARP缓存表 这个表记录着IP地址与MAC地址的映射关系 我们可以通过在电脑的控制台通过arp a指令查看一下我们自己计算机的ARP缓存表 那么什么是ARP协议呢 初始ARP ARP协议是地址
  • 零基础学Python有什么建议?千万不要自己乱学,不然就废了

    首先零基础是能学python的 很多编程大神入门之前都选择先学习Python 所以想学就大胆去学吧 没学之前谁不是零基础 就算是现在才下定决心学也不怕 学习Python什么时候都不算晚 零基础如何学好python 作为一个学了python两
  • 关于Element-ui el-cascader不能rules校验问题

    明明我能打印出选择的值 而且v model也绑定成功了值 用vue devtools扩展程序能看到绑定成功后的值 我的解决方法 自定义表单校验规则 不用 required 属性去校验是否必须验证 用自定义方式去校验 el cascader
  • C、C++、C#、python、java编程—时间与日期操作

    C资料 菜鸟教程 C语言中文网 C community C 资料 菜鸟教程 cplusplus C community C 资料 菜鸟教程 microsoftC 文档 python资料 菜鸟教程 python标准库 Java资料 菜鸟教程
  • iOS开发常用的加密技术

    iOS开发常用的加密技术 我胡汉三又回来了啦 时隔几月没有更博客了 我自己都受不鸟自己啦 在这几个月里经历了很多杂七杂八的事儿 不过话说回来 再怎么忙都不应该中断学习的步伐 再怎么忙都不能成为博客停更的理由 好吧就检讨到这里 开始进入正题
  • 倒计时列表实现(小程序端&Vue)

    rich text主要用来将展示html格式的 可以直接使用这个标签