ts-methods-alert-dialog-box.md 5.8 KB
Newer Older
Z
zengyawen 已提交
1
# 警告弹窗
Z
zengyawen 已提交
2

3 4
显示警告弹窗组件,可设置文本内容与响应回调。

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


Z
zengyawen 已提交
10
## 属性
Z
zengyawen 已提交
11

H
hebingxue 已提交
12 13
| 名称    | 参数类型  | 参数描述 |
| ---- | --------------- | -------- |
M
match 已提交
14
| show | [AlertDialogParamWithConfirm](#alertdialogparamwithconfirm对象说明) \| [AlertDialogParamWithButtons](#alertdialogparamwithbuttons对象说明)  | 定义并显示AlertDialog组件。 |
Z
zengyawen 已提交
15

K
kangchongtao 已提交
16
## AlertDialogParamWithConfirm对象说明
H
hebingxue 已提交
17 18 19 20 21
| 参数名       | 参数类型     | 必填     | 参数描述         |
| ---------- | ---------------- | ---------- | ------------------------------- |
| title      | [ResourceStr](ts-types.md#resourcestr) | 否    | 弹窗标题。 |
| message    | [ResourceStr](ts-types.md#resourcestr) | 是    | 弹窗内容。 |
| autoCancel | boolean | 否   | 点击遮障层时,是否关闭弹窗。<br>默认值:true |
M
match 已提交
22
| confirm    | {<br/>value:&nbsp;[ResourceStr](ts-types.md#resourcestr),<br/>fontColor?:&nbsp;[ResourceColor](ts-types.md#resourcecolor),<br/>backgroundColor?:&nbsp;&nbsp;[ResourceColor](ts-types.md#resourcecolor),<br/>action:&nbsp;()&nbsp;=&gt;&nbsp;void<br/>} | 否   | 确认按钮的文本内容、文本色、按钮背景色和点击回调。 |
H
hebingxue 已提交
23
| cancel     | ()&nbsp;=&gt;&nbsp;void      | 否     | 点击遮障层关闭dialog时的回调。 |
24
| alignment  | [DialogAlignment](#dialogalignment枚举说明) | 否   | 弹窗在竖直方向上的对齐方式。<br>默认值:DialogAlignment.Default |
H
hebingxue 已提交
25
| offset     | [Offset](ts-types.md#offset) | 否     | 弹窗相对alignment所在位置的偏移量。 |
M
matchzhou 已提交
26
| gridCount  | number                       | 否     | 弹窗容器宽度所占用栅格数。 |
Z
zengyawen 已提交
27

K
kangchongtao 已提交
28
## AlertDialogParamWithButtons对象说明
H
hebingxue 已提交
29 30 31 32 33
| 参数名             | 参数类型                | 必填     | 参数描述                     |
| --------------- | ---------------------- | ------------ | --------------------- |
| title           | [ResourceStr](ts-types.md#resourcestr) | 否     | 弹窗标题。              |
| message         | [ResourceStr](ts-types.md#resourcestr) | 是     | 弹窗内容。              |
| autoCancel      | boolean           | 否   | 点击遮障层时,是否关闭弹窗。<br>默认值:true      |
M
match 已提交
34 35
| primaryButton   | {<br/>value:&nbsp;[ResourceStr](ts-types.md#resourcestr),<br/>fontColor?:&nbsp;[ResourceColor](ts-types.md#resourcecolor),<br/>backgroundColor?:&nbsp;[ResourceColor](ts-types.md#resourcecolor),<br/>action:&nbsp;()&nbsp;=&gt;&nbsp;void;<br/>} | 否 | 按钮的文本内容、文本色、按钮背景色和点击回调。 |
| secondaryButton | {<br/>value:&nbsp;[ResourceStr](ts-types.md#resourcestr),<br/>fontColor?:&nbsp;[ResourceColor](ts-types.md#resourcecolor),<br/>backgroundColor?:&nbsp;[ResourceColor](ts-types.md#resourcecolor),<br/>action:&nbsp;()&nbsp;=&gt;&nbsp;void;<br/>} | 否  | 按钮的文本内容、文本色、按钮背景色和点击回调。 |
H
hebingxue 已提交
36
| cancel          | ()&nbsp;=&gt;&nbsp;void      | 否  | 点击遮障层关闭dialog时的回调。         |
37
| alignment       | [DialogAlignment](#dialogalignment枚举说明) | 否   | 弹窗在竖直方向上的对齐方式。<br>默认值:DialogAlignment.Default |
H
hebingxue 已提交
38
| offset          | [Offset](ts-types.md#offset) | 否  | 弹窗相对alignment所在位置的偏移量。 |
M
matchzhou 已提交
39
| gridCount       | number                       | 否  | 弹窗容器宽度所占用栅格数。 |
Z
zengyawen 已提交
40

41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
## DialogAlignment枚举说明

| 名称                       | 描述      |
| ------------------------ | ------- |
| Top                      | 垂直顶部对齐。 |
| Center                   | 垂直居中对齐。 |
| Bottom                   | 垂直底部对齐。 |
| Default                  | 默认对齐。   |
| TopStart<sup>8+</sup>    | 左上对齐。   |
| TopEnd<sup>8+</sup>      | 右上对齐。   |
| CenterStart<sup>8+</sup> | 左中对齐。   |
| CenterEnd<sup>8+</sup>   | 右中对齐。   |
| BottomStart<sup>8+</sup> | 左下对齐。   |
| BottomEnd<sup>8+</sup>   | 右下对齐。   |

Z
zengyawen 已提交
56
## 示例
Z
zengyawen 已提交
57

H
geshi  
HelloCrease 已提交
58 59
```ts
// xxx.ets
Z
zengyawen 已提交
60 61 62 63 64 65 66 67 68 69 70
@Entry
@Component
struct AlertDialogExample {
  build() {
    Column({ space: 5 }) {
      Button('one button dialog')
        .onClick(() => {
          AlertDialog.show(
            {
              title: 'title',
              message: 'text',
M
match 已提交
71 72 73 74
              autoCancel: true,
              alignment: DialogAlignment.Bottom,
              offset: { dx: 0, dy: -20 },
              gridCount: 3,
Z
zengyawen 已提交
75 76 77 78 79 80 81 82 83 84 85
              confirm: {
                value: 'button',
                action: () => {
                  console.info('Button-clicking callback')
                }
              },
              cancel: () => {
                console.info('Closed callbacks')
              }
            }
          )
M
match 已提交
86
        })
Z
zengyawen 已提交
87 88 89 90 91 92 93
        .backgroundColor(0x317aff)
      Button('two button dialog')
        .onClick(() => {
          AlertDialog.show(
            {
              title: 'title',
              message: 'text',
M
match 已提交
94 95 96 97
              autoCancel: true,
              alignment: DialogAlignment.Bottom,
              gridCount: 4,
              offset: { dx: 0, dy: -20 },
Z
zengyawen 已提交
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
              primaryButton: {
                value: 'cancel',
                action: () => {
                  console.info('Callback when the first button is clicked')
                }
              },
              secondaryButton: {
                value: 'ok',
                action: () => {
                  console.info('Callback when the second button is clicked')
                }
              },
              cancel: () => {
                console.info('Closed callbacks')
              }
            }
          )
M
match 已提交
115
        }).backgroundColor(0x317aff)
Z
zengyawen 已提交
116 117 118 119 120
    }.width('100%').margin({ top: 5 })
  }
}
```

Z
zengyawen 已提交
121
![zh-cn_image_0000001174582844](figures/zh-cn_image_0000001174582844.gif)