• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 列表选择弹窗
2
3列表弹窗。
4
5>  **说明:**
6>  从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
7
8
9
10## ActionSheet.show
11
12show(value: { title: string | Resource, message: string | Resource, confirm?: {value: string | Resource, action:() => void}, cancel?:()=>void, sheets: Array<SheetInfo>, autoCancel?:boolean, alignment?: DialogAlignment, offset?: { dx: number | string | Resource; dy: number | string | Resource } })
13
14定义列表弹窗并弹出。
15
16**参数:**
17
18| 参数名        | 参数类型                    | 必填  | 参数描述                          |
19| ---------- | -------------------------- | ------- | ----------------------------- |
20| title      | [Resource](ts-types.md#resource) \| string | 是     |  弹窗标题。 |
21| message    | [Resource](ts-types.md#resource) \| string | 是     | 弹窗内容。  |
22| autoCancel | boolean                           | 否     | 点击遮障层时,是否关闭弹窗。<br>默认值:true |
23| confirm    | {<br/>value:&nbsp;[ResourceStr](ts-types.md#resourcestr),<br/>action:&nbsp;()&nbsp;=&gt;&nbsp;void<br/>} | 否  | 确认按钮的文本内容和点击回调。<br>默认值:<br/>value:按钮文本内容。<br/>action:&nbsp;按钮选中时的回调。 |
24| cancel     | ()&nbsp;=&gt;&nbsp;void           | 否     | 点击遮障层关闭dialog时的回调。   |
25| alignment  | [DialogAlignment](ts-methods-alert-dialog-box.md#dialogalignment枚举说明) | 否     |  弹窗在竖直方向上的对齐方式。<br>默认值:DialogAlignment.Bottom |
26| offset     | {<br/>dx:&nbsp;Length,<br/>dy:&nbsp;Length<br/>} | 否      | 弹窗相对alignment所在位置的偏移量。{<br/>dx:&nbsp;0,<br/>dy:&nbsp;0<br/>} |
27| sheets     | Array&lt;SheetInfo&gt; | 是       | 设置选项内容,每个选择项支持设置图片、文本和选中的回调。 |
28
29## SheetInfo接口说明
30
31| 参数名 | 参数类型                                                     | 必填 | 参数描述          |
32| ------ | ------------------------------------------------------------ | ---- | ----------------- |
33| title  | [ResourceStr](ts-types.md#resourcestr) | 是   | 选项的文本内容。       |
34| icon   | [ResourceStr](ts-types.md#resourcestr) | 否   | 选项的图标,默认无图标显示。     |
35| action | ()=&gt;void                                          | 是   | 选项选中的回调。 |
36
37
38## 示例
39
40
41```ts
42@Entry
43@Component
44struct ActionSheetExample {
45  build() {
46    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
47      Button('Click to Show ActionSheet')
48        .onClick(() => {
49          ActionSheet.show({
50            title: 'ActionSheet title',
51            message: 'message',
52            autoCancel: true,
53            confirm: {
54              value: 'Confirm button',
55              action: () => {
56                console.log('Get Alert Dialog handled')
57              }
58            },
59            cancel: () => {
60              console.log('actionSheet canceled')
61            },
62            alignment: DialogAlignment.Bottom,
63            offset: { dx: 0, dy: -10 },
64            sheets: [
65              {
66                title: 'apples',
67                action: () => {
68                  console.log('apples')
69                }
70              },
71              {
72                title: 'bananas',
73                action: () => {
74                  console.log('bananas')
75                }
76              },
77              {
78                title: 'pears',
79                action: () => {
80                  console.log('pears')
81                }
82              }
83            ]
84          })
85        })
86    }.width('100%')
87    .height('100%')
88  }
89}
90```
91
92![zh-cn_image_0000001241668363](figures/zh-cn_image_0000001241668363.gif)
93