dialogs - 对话框
dialogs模块用于显示弹框,一般用于提示用户关键信息、输入信息,完成简易的交互。
本模块提供了多种配置模式,能够以应用内弹窗或悬浮窗形式显示确认框、输入框、单选框、多选框等,也可以自定义弹出框显示的View。
可使用const dialogs = require('dialogs');
导入dialogs模块。然后通过比如dialogs.showInputDialog("输入框标题", "输入框默认文本");
的方式调用模块中的方法。
也可以直接导入要使用的函数,比如const { showInputDialog } = require('dialogs'); showInputDialog("输入框标题", "输入框默认文本");
。
目录
接口
类型别名
变量
函数
- buildDialog
- setDefaultDialogType
- showAlertDialog
- showConfirmDialog
- showDialog
- showInputDialog
- showMultiChoiceDialog
- showSelectDialog
- showSingleChoiceDialog
类型别名
Dialog
Ƭ Dialog: android.app.Dialog
& DialogExt
对话框类型,基于Android原生Dialog类拓展了一些方法和属性,参见DialogExt。
DialogType
Ƭ DialogType: "overlay"
| "app"
弹出对话框的类型。
overlay
: 可显示在其他应用上方,需要悬浮窗权限。app
: 应用内对话框,仅可在应用内的当前界面(Activity)显示,不需要额外权限。
变量
defaultDialogType
• defaultDialogType: DialogType
= 'app'
默认对话框类型,默认为app
。可通过setDefaultDialogType函数修改。
参见
函数
buildDialog
▸ buildDialog(properties
): Promise
<Dialog
>
创建一个对话框。可自定义对话框的标题、内容、进度条、输入框、按钮等。
参数
名称 | 类型 | 描述 |
---|---|---|
properties | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise
<Dialog
>
Dialog对象的Promise
setDefaultDialogType
▸ setDefaultDialogType(type
): void
参见
参数
名称 | 类型 |
---|---|
type | DialogType |
返回值
void
showAlertDialog
▸ showAlertDialog(title
, properties?
): Promise
<void
>
显示一个提示对话框。提示对话框包括标题、内容和一个确认按钮。
示例
"nodejs";
const { showAlertDialog } = require('dialogs');
async function alert() {
await showAlertDialog("This is an alert dialog.");
await showAlertDialog("Summary", { content: "Some description" });
}
alert();
参数
名称 | 类型 | 描述 |
---|---|---|
title | string | 对话框的标题。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise
<void
>
可通过await等待弹出框消失。
showConfirmDialog
▸ showConfirmDialog(title
, properties?
): Promise
<boolean
>
显示一个确认对话框,包括一个确认按钮和一个取消按钮。
示例
"nodejs";
const dialogs = require('dialogs');
async function confirm() {
const sure = await dialogs.showConfirmDialog("Are you sure?");
console.log(sure); // true or false
console.log(await dialogs.showConfirmDialog("Are you sure?", { positive: "Yes", negative: "No" }));
}
confirm();
参数
名称 | 类型 | 描述 |
---|---|---|
title | string | 确认对话框的标题。 |
properties? | DialogProperties | 对话框的额外配置属性。参考 DialogProperties |
返回值
Promise
<boolean
>
可通过await获取弹出框选择结果。
showDialog
▸ showDialog(properties
): Promise
<Dialog
>
创建并显示一个对话框。类似于buildDialog构建对话框,但是构建后直接显示而无需调用show
。
参数
名称 | 类型 | 描述 |
---|---|---|
properties | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise
<Dialog
>
对话框对象的Promise
showInputDialog
▸ showInputDialog(title
, prefill?
, properties?
): Promise
<string
| null
>
显示一个输入对话框。
示例
"nodejs";
const dialogs = require('dialogs');
async function inputDialog() {
const name = await dialogs.showInputDialog("Input your name", "Tony");
if (name != "") {
console.log(`hello, ${mName}`);
}
}
inputDialog();
参数
名称 | 类型 | 描述 |
---|---|---|
title | string | 输入对话框的标题。 |
prefill? | string | 输入对话框的默认文本。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise
<string
| null
>
可通过await获取弹出输入框的输入结果。若用户取消了输入,则返回null的Promise。
showMultiChoiceDialog
▸ showMultiChoiceDialog(title
, items
, initialSelectedIndices?
, properties?
): Promise
<number
[] | null
>
显示一个多选对话框。多选对话框包括标题和一个多选列表,用户选择列表项并确定后会返回点击的结果。
参数
名称 | 类型 | 描述 |
---|---|---|
title | string | 多选对话框的标题。 |
items | string [] | 多选框的选项。 |
initialSelectedIndices? | number [] | 默认选中的选项,比如[0, 2] 表示选中第一项和第三项。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise
<number
[] | null
>
选中选项的索引的数组Promise,若用户取消了选择,则返回空数组。索引从0开始。
showSelectDialog
▸ showSelectDialog(title
, items
, properties?
): Promise
<number
>
显示一个选择对话框。选择对话框包括标题和一个选择列表,用户点击列表项后会返回点击的结果。
示例
"nodejs";
const { showSelectDialog } = require('dialogs');
async function select() {
const i = await showSelectDialog("Select an item", ["item1", "item2", "item3"]);
console.log(`selected item: ${i}`);
}
select();
参数
名称 | 类型 | 描述 |
---|---|---|
title | string | 选择对话框的标题。 |
items | string [] | 选择框的选项。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise
<number
>
选择选项的索引的Promise,若用户取消了选择,则返回-1。索引从0开始。
showSingleChoiceDialog
▸ showSingleChoiceDialog(title
, items
, initialSelectedIndex?
, properties?
): Promise
<number
>
显示一个单选对话框。单选对话框包括标题和一个单选列表,用户点击列表项并确定后会返回点击的结果。
示例
"nodejs";
const { showSingleChoiceDialog } = require('dialogs');
async function singleChoice() {
const i = await showSingleChoiceDialog("Choose an item", ["item1", "item2", "item3"]);
console.log(`selected item: ${i}`);
}
singleChoice();
参数
名称 | 类型 | 描述 |
---|---|---|
title | string | 单选对话框的标题。 |
items | string [] | 单选框的选项。 |
initialSelectedIndex? | number | 默认选中的items 数组索引序。 |
properties? | DialogProperties | 对话框的配置属性。参考 DialogProperties |
返回值
Promise
<number
>
选择选项的索引的Promise,若用户取消了选择,则返回-1。索引从0开始。