ts-basic-components-texttimer.md 3.0 KB
Newer Older
Z
zengyawen 已提交
1 2
# TextTimer

T
explain  
tianyu 已提交
3 4
通过文本显示计时信息并控制其计时器状态的组件。

H
geshi  
HelloCrease 已提交
5
>  **说明:**
6
>
Z
zengyawen 已提交
7 8 9 10 11 12
> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

## 子组件



L
luoying_ace_admin 已提交
13
## 接口
Z
zengyawen 已提交
14

15
TextTimer(options?: { isCountDown?: boolean, count?: number, controller?: TextTimerController })
Z
zengyawen 已提交
16

17
**参数:**
Z
zengyawen 已提交
18

19
| 参数名     | 参数类型     | 必填  | 参数描述                   |
20
| ----------- | -------- | -------- | -------- |
21 22 23
| isCountDown | boolean  | 否   | 是否倒计时。<br/>默认值:false |
| count       | number   | 否   | 倒计时时间(isCountDown为true时生效),单位为毫秒。最长不超过86400000毫秒(24小时)。&nbsp;0&lt;count&lt;86400000时,count值为倒计时初始值。否则,使用默认值为倒计时初始值。<br/>默认值:60000 |
| controller  | [TextTimerController](#texttimercontroller) | 否  | TextTimer控制器。 |
Z
zengyawen 已提交
24

25
## 属性
Z
zengyawen 已提交
26

27 28 29
| 名称        | 参数类型       | 描述                             |
| -------- | ---------------------- | ---------------------- |
| format   | string   | 自定义格式,需至少包含一个HH、mm、ss、SS中的关键字。如使用yy、MM、dd等日期格式,则使用默认值。<br/>默认值:'HH:mm:ss.SS' |
Z
zengyawen 已提交
30 31 32

## 事件

33 34 35
| 名称                                       | 功能描述                                     |
| ---------------------------------------- | ---------------------------------------- |
| onTimer(event:&nbsp;(utc:&nbsp;number,&nbsp;elapsedTime:&nbsp;number)&nbsp;=&gt;&nbsp;void) | 时间文本发生变化时触发。<br/>utc:Linux时间戳,即自1970年1月1日起经过的毫秒数。<br/>elapsedTime:计时器经过的时间,单位为毫秒。 |
Z
zengyawen 已提交
36

37 38
## TextTimerController

39
TextTimer组件的控制器,用于控制文本计时器。一个TextTimer组件仅支持绑定一个控制器。
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

### 导入对象

```
textTimerController: TextTimerController = new TextTimerController()

```

### start

start()

计时开始。

### pause

pause()

计时暂停。

### reset

reset()

重置计时器。

Z
zengyawen 已提交
66 67
## 示例

H
geshi  
HelloCrease 已提交
68 69
```ts
// xxx.ets
Z
zengyawen 已提交
70 71 72
@Entry
@Component
struct TextTimerExample {
73
  textTimerController: TextTimerController = new TextTimerController()
M
match 已提交
74
  @State format: string = 'mm:ss.SS'
Z
zengyawen 已提交
75 76 77

  build() {
    Column() {
Y
yamila 已提交
78
      TextTimer({ isCountDown: true, count: 30000, controller: this.textTimerController })
Z
zengyawen 已提交
79 80
        .format(this.format)
        .fontColor(Color.Black)
81
        .fontSize(50)
Z
zengyawen 已提交
82 83 84 85 86
        .onTimer((utc: number, elapsedTime: number) => {
          console.info('textTimer notCountDown utc is:' + utc + ', elapsedTime: ' + elapsedTime)
        })
      Row() {
        Button("start").onClick(() => {
M
matchzhou 已提交
87 88
          this.textTimerController.start()
        })
Z
zengyawen 已提交
89
        Button("pause").onClick(() => {
M
matchzhou 已提交
90 91
          this.textTimerController.pause()
        })
Z
zengyawen 已提交
92
        Button("reset").onClick(() => {
M
matchzhou 已提交
93 94
          this.textTimerController.reset()
        })
Z
zengyawen 已提交
95 96 97 98 99 100 101 102
      }
    }
  }
}
```


![zh-cn_image_0000001251007721](figures/zh-cn_image_0000001251007721.gif)