• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.Full46
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.Full172
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.Full256
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