1# @ohos.promptAction (弹窗) 2 3创建并显示文本提示框、对话框和操作菜单。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```js 12import promptAction from '@ohos.promptAction' 13``` 14 15## promptAction.showToast 16 17showToast(options: ShowToastOptions): void 18 19创建并显示文本提示框。 20 21**系统能力:** SystemCapability.ArkUI.ArkUI.Full 22 23**参数:** 24 25| 参数名 | 类型 | 必填 | 说明 | 26| ------- | ------------------------------------- | ---- | ------- | 27| options | [ShowToastOptions](#showtoastoptions) | 是 | 文本弹窗选项。 | 28 29**错误码:** 30 31以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。 32 33| 错误码ID | 错误信息 | 34| --------- | ------- | 35| 100001 | if UI execution context not found. | 36 37**示例:** 38 39```js 40try { 41 promptAction.showToast({ 42 message: 'Message Info', 43 duration: 2000, 44 }); 45} catch (error) { 46 console.error(`showToast args error code is ${error.code}, message is ${error.message}`); 47}; 48 49``` 50 51![zh-cn_image_0001](figures/zh-cn_image_0001.gif) 52 53## ShowToastOptions 54 55文本提示框的选项。 56 57**系统能力:** SystemCapability.ArkUI.ArkUI.Full。 58 59| 名称 | 类型 | 必填 | 说明 | 60| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 61| message | string\| [Resource](../arkui-ts/ts-types.md#resource类型)<sup>9+</sup> | 是 | 显示的文本信息。 | 62| duration | number | 否 | 默认值1500ms,取值区间:1500ms-10000ms。若小于1500ms则取默认值,若大于10000ms则取上限值10000ms。 | 63| bottom | string\| number | 否 | 设置弹窗边框距离屏幕底部的位置。 | 64 65## promptAction.showDialog 66 67showDialog(options: ShowDialogOptions): Promise<ShowDialogSuccessResponse> 68 69创建并显示对话框,对话框响应后同步返回结果。 70 71**系统能力:** SystemCapability.ArkUI.ArkUI.Full 72 73**参数:** 74 75| 参数名 | 类型 | 必填 | 说明 | 76| ------- | --------------------------------------- | ---- | ------ | 77| options | [ShowDialogOptions](#showdialogoptions) | 是 | 对话框选项。 | 78 79**返回值:** 80 81| 类型 | 说明 | 82| ---------------------------------------- | -------- | 83| Promise<[ShowDialogSuccessResponse](#showdialogsuccessresponse)> | 对话框响应结果。 | 84 85**错误码:** 86 87以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。 88 89| 错误码ID | 错误信息 | 90| --------- | ------- | 91| 100001 | if UI execution context not found. | 92 93**示例:** 94 95```js 96try { 97 promptAction.showDialog({ 98 title: 'Title Info', 99 message: 'Message Info', 100 buttons: [ 101 { 102 text: 'button1', 103 color: '#000000', 104 }, 105 { 106 text: 'button2', 107 color: '#000000', 108 } 109 ], 110 }) 111 .then(data => { 112 console.info('showDialog success, click button: ' + data.index); 113 }) 114 .catch(err => { 115 console.info('showDialog error: ' + err); 116 }) 117} catch (error) { 118 console.error(`showDialog args error code is ${error.code}, message is ${error.message}`); 119}; 120``` 121 122![zh-cn_image_0002](figures/zh-cn_image_0002.gif) 123 124## promptAction.showDialog 125 126showDialog(options: ShowDialogOptions, callback: AsyncCallback<ShowDialogSuccessResponse>):void 127 128创建并显示对话框,对话框响应结果异步返回。 129 130**系统能力:** SystemCapability.ArkUI.ArkUI.Full 131 132**参数:** 133 134| 参数名 | 类型 | 必填 | 说明 | 135| -------- | ---------------------------------------- | ---- | ------------ | 136| options | [ShowDialogOptions](#showdialogoptions) | 是 | 页面显示对话框信息描述。 | 137| callback | AsyncCallback<[ShowDialogSuccessResponse](#showdialogsuccessresponse)> | 是 | 对话框响应结果回调。 | 138 139**错误码:** 140 141以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。 142 143| 错误码ID | 错误信息 | 144| --------- | ------- | 145| 100001 | if UI execution context not found. | 146 147**示例:** 148 149```js 150try { 151 promptAction.showDialog({ 152 title: 'showDialog Title Info', 153 message: 'Message Info', 154 buttons: [ 155 { 156 text: 'button1', 157 color: '#000000', 158 }, 159 { 160 text: 'button2', 161 color: '#000000', 162 } 163 ] 164 }, (err, data) => { 165 if (err) { 166 console.info('showDialog err: ' + err); 167 return; 168 } 169 console.info('showDialog success callback, click button: ' + data.index); 170 }); 171} catch (error) { 172 console.error(`showDialog args error code is ${error.code}, message is ${error.message}`); 173}; 174``` 175 176![zh-cn_image_0002](figures/zh-cn_image_0002.gif) 177 178## ShowDialogOptions 179 180对话框的选项。 181 182**系统能力:** SystemCapability.ArkUI.ArkUI.Full 183 184| 名称 | 类型 | 必填 | 说明 | 185| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 186| title | string\| [Resource](../arkui-ts/ts-types.md#resource类型)<sup>9+</sup> | 否 | 标题文本。 | 187| message | string\| [Resource](../arkui-ts/ts-types.md#resource类型)<sup>9+</sup> | 否 | 内容文本。 | 188| buttons | [[Button](#button),[Button](#button)?,[Button](#button)?] | 否 | 对话框中按钮的数组,结构为:{text:'button', color: '\#666666'},支持1-3个按钮。其中第一个为positiveButton;第二个为negativeButton;第三个为neutralButton。 | 189 190## ShowDialogSuccessResponse 191 192对话框的响应结果。 193 194**系统能力:** SystemCapability.ArkUI.ArkUI.Full 195 196| 名称 | 类型 | 必填 | 说明 | 197| ----- | ------ | ---- | ------------------------------- | 198| index | number | 否 | 选中按钮在buttons数组中的索引。 | 199 200## promptAction.showActionMenu 201 202showActionMenu(options: ActionMenuOptions, callback: AsyncCallback<ActionMenuSuccessResponse>):void 203 204创建并显示操作菜单,菜单响应结果异步返回。 205 206**系统能力:** SystemCapability.ArkUI.ArkUI.Full。 207 208**参数:** 209 210| 参数名 | 类型 | 必填 | 说明 | 211| -------- | ---------------------------------------- | ---- | --------- | 212| options | [ActionMenuOptions](#actionmenuoptions) | 是 | 操作菜单选项。 | 213| callback | AsyncCallback<[ActionMenuSuccessResponse](#actionmenusuccessresponse)> | 是 | 菜单响应结果回调。 | 214 215**错误码:** 216 217以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。 218 219| 错误码ID | 错误信息 | 220| --------- | ------- | 221| 100001 | if UI execution context not found. | 222 223**示例:** 224 225```js 226try { 227 promptAction.showActionMenu({ 228 title: 'Title Info', 229 buttons: [ 230 { 231 text: 'item1', 232 color: '#666666', 233 }, 234 { 235 text: 'item2', 236 color: '#000000', 237 }, 238 ] 239 }, (err, data) => { 240 if (err) { 241 console.info('showActionMenu err: ' + err); 242 return; 243 } 244 console.info('showActionMenu success callback, click button: ' + data.index); 245 }) 246} catch (error) { 247 console.error(`showActionMenu args error code is ${error.code}, message is ${error.message}`); 248}; 249``` 250 251![zh-cn_image_0005](figures/zh-cn_image_0005.gif) 252 253## promptAction.showActionMenu 254 255showActionMenu(options: ActionMenuOptions): Promise<ActionMenuSuccessResponse> 256 257创建并显示操作菜单,菜单响应后同步返回结果。 258 259**系统能力:** SystemCapability.ArkUI.ArkUI.Full 260 261**参数:** 262 263| 参数名 | 类型 | 必填 | 说明 | 264| ------- | --------------------------------------- | ---- | ------- | 265| options | [ActionMenuOptions](#actionmenuoptions) | 是 | 操作菜单选项。 | 266 267**返回值:** 268 269| 类型 | 说明 | 270| ---------------------------------------- | ------- | 271| Promise<[ActionMenuSuccessResponse](#actionmenusuccessresponse)> | 菜单响应结果。 | 272 273**错误码:** 274 275以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。 276 277| 错误码ID | 错误信息 | 278| --------- | ------- | 279| 100001 | if UI execution context not found. | 280 281**示例:** 282 283```js 284try { 285 promptAction.showActionMenu({ 286 title: 'showActionMenu Title Info', 287 buttons: [ 288 { 289 text: 'item1', 290 color: '#666666', 291 }, 292 { 293 text: 'item2', 294 color: '#000000', 295 }, 296 ] 297 }) 298 .then(data => { 299 console.info('showActionMenu success, click button: ' + data.index); 300 }) 301 .catch(err => { 302 console.info('showActionMenu error: ' + err); 303 }) 304} catch (error) { 305 console.error(`showActionMenu args error code is ${error.code}, message is ${error.message}`); 306}; 307``` 308 309![zh-cn_image_0005](figures/zh-cn_image_0005.gif) 310 311## ActionMenuOptions 312 313操作菜单的选项。 314 315**系统能力:** SystemCapability.ArkUI.ArkUI.Full。 316 317| 名称 | 类型 | 必填 | 说明 | 318| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 319| title | string\| [Resource](../arkui-ts/ts-types.md#resource类型)<sup>9+</sup> | 否 | 标题文本。 | 320| buttons | [[Button](#button),[Button](#button)?,[Button](#button)?,[Button](#button)?,[Button](#button)?,[Button](#button)?] | 是 | 菜单中菜单项按钮的数组,结构为:{text:'button', color: '\#666666'},支持1-6个按钮。大于6个按钮时弹窗不显示。 | 321 322## ActionMenuSuccessResponse 323 324操作菜单的响应结果。 325 326**系统能力:** SystemCapability.ArkUI.ArkUI.Full 327 328| 名称 | 类型 | 必填 | 说明 | 329| ----- | ------ | ---- | ------------------------ | 330| index | number | 否 | 选中按钮在buttons数组中的索引,从0开始。 | 331 332## Button 333 334菜单中的菜单项按钮。 335 336**系统能力:** SystemCapability.ArkUI.ArkUI.Full 337 338| 名称 | 类型 | 必填 | 说明 | 339| ----- | ---------------------------------------- | ---- | ------- | 340| text | string\| [Resource](../arkui-ts/ts-types.md#resource类型)<sup>9+</sup> | 是 | 按钮文本内容。 | 341| color | string\| [Resource](../arkui-ts/ts-types.md#resource类型)<sup>9+</sup> | 是 | 按钮文本颜色。 | 342