当前位置: 首页 > wzjs >正文

移动网站开发 书南京今日新闻头条

移动网站开发 书,南京今日新闻头条,免费咨询律师电话号码是多少,php除了做网站还能做什么现在web端需要实现一个倒计时的组件 现在使用的是ant-design 组件 但是并没有关于倒计时的组件 现在手写一个 直接上代码 子组件 timer.vue <template><span class"countdown-cell" :class"{ text-danger: isExpired }">{{ displayText }}&…

现在web端需要实现一个倒计时的组件 现在使用的是ant-design 组件 但是并没有关于倒计时的组件 现在手写一个 直接上代码

子组件

timer.vue

<template><span class="countdown-cell" :class="{ 'text-danger': isExpired }">{{ displayText }}</span>
</template><script setup>
import { computed, ref, onMounted, onUnmounted } from 'vue';const props = defineProps({endTime: {type: [Number, String, Date],required: true}
});const emit = defineEmits(['expired']);const now = ref(Date.now());
const isExpired = ref(false);// 计算剩余时间(毫秒)
const remainingTime = computed(() => {const end = new Date(props.endTime).getTime();return end - now.value;
});// 显示文本
const displayText = computed(() => {if (isExpired.value) return '已过期';const totalSeconds = Math.floor(remainingTime.value / 1000);if (totalSeconds <= 0) return '00:00:00';const hours = Math.floor(totalSeconds / 3600);const minutes = Math.floor((totalSeconds % 3600) / 60);const seconds = totalSeconds % 60;return [hours.toString().padStart(2, '0'),minutes.toString().padStart(2, '0'),seconds.toString().padStart(2, '0')].join(':');
});// 更新当前时间
let timer = null;
const updateNow = () => {now.value = Date.now();if (remainingTime.value <= 0 && !isExpired.value) {isExpired.value = true;emit('expired');}
};onMounted(() => {updateNow();timer = setInterval(updateNow, 1000);
});onUnmounted(() => {clearInterval(timer);
});
</script><style scoped>
.countdown-cell {font-family: monospace;
}
.text-danger {color: #f56c6c;font-weight: bold;
}
</style>

父组件中使用

   <CountdownTime:end-time="getEndTime(record.createTime)"@expired="handleExpired(record.id)"></CountdownTime>// 计算结束时间(创建时间 + 28分钟)
const getEndTime = (createTime: any) => {return new Date(Number(createTime) + 28 * 60 * 1000)
}// 格式化日期
const formatDate = timestamp => {return new Date(timestamp).toLocaleString()
}// 处理倒计时过期事件
const handleExpired = id => {console.log(`项目 ${id} 已过期`)// 可以在这里更新状态或执行其他操作
}

慢慢理解  直接用 就好了 传递 endTime 时间 比如 可以 使用创建时间 + 你想倒计时的时间

@expired 是倒计时结束的操作函数

http://www.dtcms.com/wzjs/61984.html

相关文章:

  • 购物网站开发会遇到的的问题全国前十名小程序开发公司
  • 手机网站应该怎么做今日最新国际新闻
  • 长沙做网站最专业白杨seo教程
  • 网站开发能怎么赚钱线上推广100种方式
  • 锡林浩特网站建设开发网站搭建谷歌seo
  • 港口建设费申报网站seo点石论坛
  • 哈尔滨网页设计学校信息流广告优化
  • 宁远县建设局网站云南网站seo服务
  • 政府建设网站目标it教育培训机构排名
  • 买卖域名的网站app开发平台
  • 特效网站大全sem和seo是什么职业
  • 英文网站营销百度提交网站的入口地址
  • 怎么制作网站记事本湖北seo
  • 文成做网站网络营销软文案例
  • 深圳龙华做网站公司如何自己做网络推广
  • 有没有做网站源代码 修改的河北百度推广客服电话
  • 扬州建设工程信息网站sem招聘
  • 零基础网站建设教程怎么给自己的公司做网站
  • 商城网站开发网关键词优化多少钱
  • 吉安哪里做网站网站优化策略分析论文
  • p2p网站数据分析怎么做优化服务平台
  • 政务服务网站 建设方案摘抄一小段新闻
  • 巴中做网站在线推广网站的方法
  • c2b是什么意思seo快速排名服务
  • 网站建设需要哪些成本淘宝竞价排名
  • 电脑怎么做网站什么叫软文
  • 淘宝做关键词的网站竞价代运营
  • 自己做的网站抬头在哪里改湖南广告优化
  • 色彩网站设计师百度官方认证
  • 福建:网站建设谷歌商店paypal官网