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


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

    引入工具方法

    import {formateTimeStamp} from '@/utils/index.js'
    1. filters: {
    2. // 拼团有效期的filter
    3. limitTimeFilter (val){
    4. if (val > 0) {
    5. let formateLimitTimes = formateTimeStamp(val);
    6. let txt = `
    7. ${formateLimitTimes.hour}
  • :
  • ${formateLimitTimes.min}
  • :
  • ${formateLimitTimes.seconds}
    `
    ;
  • return txt;
  • } else {
  • const twtxt = `0 时 0 分 0 秒`
  • return twtxt;
  • }
  • }
  • },
    1. async findPinTuanOrderVos(){
    2. try{
    3. let res=await findPinTuanOrderVos();
    4. //数组返回的restHour:剩余小时
    5. //restMinute :剩余分钟
    6. //restSecond :剩余秒
    7. this.orderList=res.map((vs)=>{ //更新数组
    8. return {
    9. //将返回的时分秒,计算成时间戳
    10. ...vs,limit_time:Number(vs.restHour*3600)+Number(vs.restMinute*60)+Number(vs.restSecond) }
    11. })
    12. this.ticker = setInterval(() => { //执行循环
    13. for(let i=0;ilength;i++){
    14. //每循环一次将时间戳减一
    15. this.orderList[i].limit_time=this.orderList[i].limit_time - 1
    16. }
    17. },1000)
    18. }catch(v){
    19. }
    20. },

    工具类封装

    1. //utils/index.js
    2. // 计算出时间戳的具体数据:比如将85400转化为 n时n分n秒
    3. export function formateTimeStamp (timeStamp) {
    4. var hour;
    5. var min;
    6. var seconds;
    7. hour = parseInt(timeStamp / (60 * 60)) // 计算整数小时数
    8. var afterHour = timeStamp - hour * 60 * 60 // 取得算出小时数后剩余的秒数
    9. min = parseInt(afterHour / 60) // 计算整数分
    10. seconds = parseInt(timeStamp - hour * 60 * 60 - min * 60) // 取得算出分后剩余的秒数
    11. if (hour < 10) {
    12. hour = '0' + hour
    13. }
    14. if (min < 10) {
    15. min = '0' + min;
    16. }
    17. if (seconds < 10) {
    18. seconds = '0' + seconds;
    19. }
    20. const restTime = {
    21. hour: hour,
    22. min: min,
    23. seconds: seconds
    24. }
    25. return restTime
    26. }

  • 相关阅读:
    Linux: network: demux 解释
    大数据毕设选题 - 深度学习图像超分辨率重建(opencv python cnn)
    Leetcode刷题详解——被围绕的区域
    scala语言_第二章笔记
    闭眼检测实现
    教教大家Win10怎么看处理器是几核
    深剖数商云B2B电商交易系统营销应用场景,赋能医疗器械企业实现精细化运营
    typescript ts基础知识之tsconfig.json配置选项
    驱动文件讲解
    Docker相关命令
  • 原文地址:https://blog.csdn.net/qq_41429765/article/details/133087550