ts-container-badge.md 3.6 KB
Newer Older
Z
zengyawen 已提交
1
# Badge
Z
zengyawen 已提交
2

Z
zengyawen 已提交
3

4
> **NOTE**<br>
Z
zengyawen 已提交
5
> This component is supported since API version 7. Updates will be marked with a superscript to indicate their earliest API version.
Z
zengyawen 已提交
6

Z
zengyawen 已提交
7

Z
zengyawen 已提交
8
The **&lt;Badge&gt;** component presents event information on a component.
Z
zengyawen 已提交
9 10


Z
zengyawen 已提交
11
## Required Permissions
Z
zengyawen 已提交
12

Z
zengyawen 已提交
13
None
Z
zengyawen 已提交
14 15


Z
zengyawen 已提交
16
## Child Components
Z
zengyawen 已提交
17

Z
zengyawen 已提交
18
This component supports only one child component.
Z
zengyawen 已提交
19 20


Z
zengyawen 已提交
21
## APIs
Z
zengyawen 已提交
22

Z
zengyawen 已提交
23
Badge(value: {count: number, position?: BadgePosition, maxCount?: number, style?: BadgeStyle})
Z
zengyawen 已提交
24

Z
zengyawen 已提交
25
- Parameters
26
  | Name | Type | Mandatory | Default Value | Description |
Z
zengyawen 已提交
27
  | -------- | -------- | -------- | -------- | -------- |
E
esterzhou 已提交
28 29 30 31
  | count | number | Yes | - | Number of prompt messages. |
  | position | BadgePosition | No | BadgePosition.RightTop | Position to display the badge relative to the parent component. |
  | maxCount | number | No | 99 | Maximum number of prompt messages. When the maximum number is reached, only **maxCount+** is displayed. |
  | style | BadgeStyle | No | - | Style of the **&lt;Badge&gt;** component, including the text color, text size, badge color, and badge size. |
Z
zengyawen 已提交
32

Z
zengyawen 已提交
33
Badge(value: {value: string, position?: BadgePosition, style?: BadgeStyle})
Z
zengyawen 已提交
34

Z
zengyawen 已提交
35
Creates a **&lt;Badge&gt;** component based on the string.
Z
zengyawen 已提交
36

Z
zengyawen 已提交
37
- Parameters
38
  | Name | Type | Mandatory | Default Value | Description |
Z
zengyawen 已提交
39
  | -------- | -------- | -------- | -------- | -------- |
E
esterzhou 已提交
40 41 42
  | value | string | Yes | - | String of the content to prompt. |
  | position | BadgePosition | No | BadgePosition.RightTop | Display position of the badge. |
  | style | BadgeStyle | No | - | Style of the **&lt;Badge&gt;** component, including the text color, text size, badge color, and badge size. |
Z
zengyawen 已提交
43

Z
zengyawen 已提交
44
- BadgeStyle object
45
  | Name | Type | Mandatory | Default Value | Description | 
Z
zengyawen 已提交
46
  | -------- | -------- | -------- | -------- | -------- |
E
esterzhou 已提交
47 48 49 50
  | color | Color | No | Color.White | Text color. | 
  | fontSize | number \| string | No | 10 | Text size. | 
  | badgeSize | number \| string | Yes | - | Size of the badge. | 
  | badgeColor | Color | No | Color.Red | Color of the badge. | 
Z
zengyawen 已提交
51

Z
zengyawen 已提交
52
- BadgePosition enums
53
  | Name | Description | 
Z
zengyawen 已提交
54
  | -------- | -------- |
E
esterzhou 已提交
55 56 57
  | Right | The badge is vertically centered on the right of the parent component. | 
  | RightTop | The badge is displayed in the upper right corner of the parent component. | 
  | Left | The badge is vertically centered on the left of the parent component. | 
Z
zengyawen 已提交
58 59


Z
zengyawen 已提交
60
## Example
Z
zengyawen 已提交
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106


```
@Entry
@Component
struct BadgeExample {
  @State counts: number = 1
  @State message: string = 'new'

  build() {
    Flex({ justifyContent: FlexAlign.SpaceAround }) {
      Badge({
        count: this.counts,
        maxCount: 99,
        style: { color: 0xFFFFFF, fontSize: 16, badgeSize: 20, badgeColor: Color.Red }
      }) {
        Button('message')
          .onClick(() => {
            this.counts++
          })
          .width(100).height(50).backgroundColor(0x317aff)
      }.width(100).height(50)

      Badge({
        value: this.message,
        style: { color: 0xFFFFFF, fontSize: 9, badgeSize: 20, badgeColor: Color.Blue }
      }) {
        Text('message')
          .width(80).height(50).fontSize(16).lineHeight(37)
          .borderRadius(10).textAlign(TextAlign.Center).backgroundColor(0xF3F4ED)
      }.width(80).height(50)

      Badge({
        value: '',
        position: 1,
        style: { badgeSize: 6, badgeColor: Color.Red }
      }) {
        Text('message')
          .width(90).height(50).fontSize(16).lineHeight(37)
          .borderRadius(10).textAlign(TextAlign.Center).backgroundColor(0xF3F4ED)
      }.width(90).height(50)
    }.width('100%').margin({ top: 5 })
  }
}
```

Z
zengyawen 已提交
107
![en-us_image_0000001212218470](figures/en-us_image_0000001212218470.gif)