Skip to content

CountDown 倒计时

介绍

用于实时展示倒计时数值,支持毫秒精度。

引入

ts
import { IBestCountDown } from "@ibestservices/ibest-ui";

代码演示

基础用法

基础用法

点我查看代码
ts
@Entry
@Component
struct DemoPage {
  @State time: number = 30 * 60 * 60 * 1000
  build() {
    IBestCountDown({
      time: this.time
    })
  }
}

自定义格式

自定义格式

点我查看代码
ts
@Entry
@Component
struct DemoPage {
  @State time: number = 30 * 60 * 60 * 1000
  build() {
    IBestCountDown({
      time: this.time,
      format: "DD 天 HH 时 mm 分 ss 秒"
    })
  }
}

毫秒级渲染

毫秒级渲染

点我查看代码
ts
@Entry
@Component
struct DemoPage {
  @State time: number = 30 * 60 * 60 * 1000
  build() {
    IBestCountDown({
      time: this.time,
      format: 'HH:mm:ss:SSS'
    })
  }
}

手动控制

手动控制

点我查看代码
ts
import { IBestCountDownController } from '@ibestservices/ibest-ui'
@Entry
@Component
struct DemoPage {
  @State time: number = 3 * 1000
  private controller = new IBestCountDownController()
  build() {
    Column({space: 16}){
      IBestCountDown({
        time: this.time,
        format: 'ss:SSS',
        autoStart: false,
        controller: this.controller
      })
      Row(){
        IBestButton({
          type: 'primary',
          text: "开始",
          onClickBtn: () => {
            this.controller.start()
          }
        })
        IBestButton({
          type: 'primary',
          text: "暂停",
          onClickBtn: () => {
            this.controller.pause()
          }
        })
        IBestButton({
          type: 'primary',
          text: "重置",
          onClickBtn: () => {
            this.controller.reset()
          }
        })
      }
      .width("100%")
      .justifyContent(FlexAlign.SpaceBetween)
    }
  }
}

API

@Props

参数说明类型默认值
time倒计时时长, 单位 毫秒number0
color文字颜色ResourceColor#323232
fontSize文字大小number | string16
format时间格式stringHH:mm:ss
autoStart是否自动开始倒计时booleantrue
controller组件库控制器IBestCountDownController-

format 格式

格式说明
DD天数
HH小时
mm分钟
ss秒数
S毫秒(1位)
SS毫秒(2位)
SSS毫秒(3位)

IBestCountDownController

方法名说明参数类型
start默认内容的插槽-
pause暂停倒计时-
reset重置倒计时(time?: number)