# TextTimer
通过文本显示计时信息并控制其计时器状态的组件。
> **说明:**
>
> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
## 子组件
无
## 接口
TextTimer(options?: { isCountDown?: boolean, count?: number, controller?: TextTimerController })
**参数:**
| 参数名 | 参数类型 | 必填 | 参数描述 |
| ----------- | -------- | -------- | -------- |
| isCountDown | boolean | 否 | 是否倒计时。
默认值:false |
| count | number | 否 | 倒计时时间(isCountDown为true时生效),单位为毫秒。最长不超过86400000毫秒(24小时)。 0<count<86400000时,count值为倒计时初始值。否则,使用默认值为倒计时初始值。
默认值:60000 |
| controller | [TextTimerController](#texttimercontroller) | 否 | TextTimer控制器。 |
## 属性
| 名称 | 参数类型 | 描述 |
| -------- | ---------------------- | ---------------------- |
| format | string | 自定义格式,需至少包含一个HH、mm、ss、SS中的关键字。如使用yy、MM、dd等日期格式,则使用默认值。
默认值:'HH:mm:ss.SS' |
## 事件
| 名称 | 功能描述 |
| ---------------------------------------- | ---------------------------------------- |
| onTimer(event: (utc: number, elapsedTime: number) => void) | 时间文本发生变化时触发。
utc:Linux时间戳,即自1970年1月1日起经过的毫秒数。
elapsedTime:计时器经过的时间,单位为毫秒。 |
## TextTimerController
TextTimer组件的控制器,用于控制文本计时器。一个TextTimer组件仅支持绑定一个控制器。
### 导入对象
```
textTimerController: TextTimerController = new TextTimerController()
```
### start
start()
计时开始。
### pause
pause()
计时暂停。
### reset
reset()
重置计时器。
## 示例
```ts
// xxx.ets
@Entry
@Component
struct TextTimerExample {
textTimerController: TextTimerController = new TextTimerController()
@State format: string = 'mm:ss.SS'
build() {
Column() {
TextTimer({ isCountDown: true, count: 30000, controller: this.textTimerController })
.format(this.format)
.fontColor(Color.Black)
.fontSize(50)
.onTimer((utc: number, elapsedTime: number) => {
console.info('textTimer notCountDown utc is:' + utc + ', elapsedTime: ' + elapsedTime)
})
Row() {
Button("start").onClick(() => {
this.textTimerController.start()
})
Button("pause").onClick(() => {
this.textTimerController.pause()
})
Button("reset").onClick(() => {
this.textTimerController.reset()
})
}
}
}
}
```
![zh-cn_image_0000001251007721](figures/zh-cn_image_0000001251007721.gif)