前端vue uni-app cc-countdown倒计时组件

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率低,降低维护成本。

组件化对于任何一个业务场景复杂的前端应用以及经过多次迭代之后的产品来说都是必经之路。组件化要做的不仅仅是表面上看到的模块拆分解耦,其背后还有很多工作来支撑组件化的进行,例如结合业务特性的模块拆分策略、模块间的交互方式和构建系统等等 。

在本文中,我们将介绍如何在uni-app中使用cc-countdown组件。cc-countdown是一个倒计时组件,它可以显示剩余时间、天数、小时数、分钟数和秒数。用户可以通过设置不同的属性来定制倒计时的外观和行为。

阅读全文下载完整组件代码请关注微信公众号: 前端组件开发
在这里插入图片描述

效果图如下:
在这里插入图片描述

使用方法

首先,我们需要在uni-app项目文件中引入cc-countdown组件,并通过属性对其进行配置。下面是一个示例:


<cc-countdown color="#FFF" background-color="red" splitorColor="red" :showColon="true" :showDay="false" :day="0" :hour="0" :minute="0" :second="12" @timeup="timeup"></cc-countdown>

在上述代码中,我们可以看到cc-countdown组件有以下属性:

  • color:文字颜色,默认为白色。

  • background-color:背景颜色,默认为红色。

  • splitorColor:分割符颜色,默认为红色。

  • showColon:是否显示冒号,默认为true(显示)。

  • showDay:是否显示天数,默认为false(不显示)。

  • day:要显示的天数,默认为0。

  • hour:要显示的小时数,默认为0。

  • minute:要显示的分钟数,默认为0。

  • second:要显示的秒数,默认为12。

  • @timeup:倒计时结束事件,用于处理倒计时结束后的操作。

除了上述属性外,我们还可以通过事件监听来实现自定义功能。例如,当倒计时结束时,我们可以触发一个自定义事件。下面是一个示例:


<cc-countdown color="#FFF" background-color="red" splitorColor="red" :showColon="true" :showDay="false" :day="0" :hour="0" :minute="0" :second="12" @timeup="timeup"></cc-countdown>

在上述代码中,我们通过@timeup属性监听了倒计时结束事件,并定义了一个名为timeup的方法来处理该事件。具体的处理逻辑将在后续章节中介绍。

HTML代码实现部分

接下来,我们将展示完整的HTML代码实现部分。首先是页面的布局结构,然后是样式定义和组件的实现。

HTML代码实现部分

<template>

<view class="page">

<view style="height: 60px;"></view>

<!-- color 文字颜色 background-color:背景颜色 splitorColor:分割符:颜色 showColon:是否显示冒号  false显示时分秒  showDay:是否显示天 day:天 hour:时  minute:分 second:秒 @timeup:倒计时结束事件-->

<cc-countdown color="#FFF" background-color="red" splitorColor="red" :showColon="true" :showDay="false" :day="0"

:hour="0" :minute="0" :second="12" @timeup="timeup"></cc-countdown>

<view style="height: 30px;"></view>

<!-- color 文字颜色 background-color:背景颜色 splitorColor:分割符:颜色 showColon:是否显示冒号  false显示时分秒  showDay:是否显示天 day:天 hour:时  minute:分 second:秒 @timeup:倒计时结束事件-->

<cc-countdown color="#FFF" background-color="red" splitorColor="red" :showColon="false" :showDay="false"

:day="0" :hour="1" :minute="12" :second="32" @timeup="timeup"></cc-countdown>

<view style="height: 30px;"></view>

<!-- color 文字颜色 background-color:背景颜色 splitorColor:分割符:颜色 showColon:是否显示冒号  false显示时分秒  showDay:是否显示天 day:天 hour:时  minute:分 second:秒 @timeup:倒计时结束事件-->

<cc-countdown color="#FFF" background-color="red" splitorColor="red" :showColon="true" :showDay="true" :day="1"

:hour="1" :minute="12" :second="32" @timeup="timeup"></cc-countdown>

<view style="height: 30px;"></view>

<!-- color 文字颜色 background-color:背景颜色 splitorColor:分割符:颜色 showColon:是否显示冒号  false显示时分秒  showDay:是否显示天 day:天 hour:时  minute:分 second:秒 @timeup:倒计时结束事件-->

<cc-countdown color="#FFF" background-color="red" splitorColor="red" :showColon="false" :showDay="true" :day="1"

:hour="1" :minute="12" :second="32"></cc-countdown>

<view style="height: 60px;"></view>

<!-- color 文字颜色 background-color:背景颜色 splitorColor:分割符:颜色 showColon:是否显示冒号  false显示时分秒  showDay:是否显示天 day:天 hour:时  minute:分 second:秒 @timeup:倒计时结束事件-->

<cc-countdown color="#FFF" background-color="orange" splitorColor="red" :showColon="true" :showDay="false"

:day="0" :hour="1" :minute="12" :second="32" @timeup="timeup"></cc-countdown>

<view style="height: 30px;"></view>

<!-- color 文字颜色 background-color:背景颜色 splitorColor:分割符:颜色 showColon:是否显示冒号  false显示时分秒  showDay:是否显示天 day:天 hour:时  minute:分 second:秒 @timeup:倒计时结束事件-->

<cc-countdown color="#FFF" background-color="orange" splitorColor="red" :showColon="false" :showDay="false"

:day="0" :hour="1" :minute="12" :second="32" @timeup="timeup"></cc-countdown>

<view style="height: 30px;"></view>

<!-- color 文字颜色 background-color:背景颜色 splitorColor:分割符:颜色 showColon:是否显示冒号  false显示时分秒  showDay:是否显示天 day:天 hour:时  minute:分 second:秒 @timeup:倒计时结束事件-->

<cc-countdown color="#FFF" background-color="orange" splitorColor="red" :showColon="true" :showDay="true"

:day="1" :hour="1" :minute="12" :second="32" @timeup="timeup"></cc-countdown>

<view style="height: 30px;"></view>

<!-- color 文字颜色 background-color:背景颜色 splitorColor:分割符:颜色 showColon:是否显示冒号  false显示时分秒  showDay:是否显示天 day:天 hour:时  minute:分 second:秒 @timeup:倒计时结束事件-->

<cc-countdown color="#FFF" background-color="orange" splitorColor="red" :showColon="false" :showDay="true"

:day="1" :hour="1" :minute="12" :second="32" @timeup="timeup"></cc-countdown>

</view>

</template>

<script>

export default {

components: {

},

data() {

return {

}

},

methods: {

// 倒计时结束

timeup() {

uni.showModal({

title: '温馨提示',

content: '倒计时结束'

})

}

},

}

</script>

<style lang="scss" scoped>

page {

background-color: white;

}

</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端组件开发

你的钟意将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值