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