Dialog
dialogs.build()
返回的对话框对象,内置一些事件用于响应用户的交互,也可以获取对话框的状态和信息。
事件: show
对话框显示时会触发的事件。例如:
1dialogs
2 .build({
3 title: "标题",
4 })
5 .on("show", (dialog) => {
6 toast("对话框显示了");
7 })
8 .show();
事件: cancel
对话框被取消时会触发的事件。一个对话框可能按取消按钮、返回键取消或者点击对话框以外区域取消。例如:
1dialogs
2 .build({
3 title: "标题",
4 positive: "确定",
5 negative: "取消",
6 })
7 .on("cancel", (dialog) => {
8 toast("对话框取消了");
9 })
10 .show();
事件: dismiss
对话框消失时会触发的事件。对话框被取消或者手动调用dialog.dismiss()
函数都会触发该事件。例如:
1var d = dialogs
2 .build({
3 title: "标题",
4 positive: "确定",
5 negative: "取消",
6 })
7 .on("dismiss", (dialog) => {
8 toast("对话框消失了");
9 })
10 .show();
11
12setTimeout(() => {
13 d.dismiss();
14}, 5000);
事件: positive
确定按钮按下时触发的事件。例如:
1var d = dialogs
2 .build({
3 title: "标题",
4 positive: "确定",
5 negative: "取消",
6 })
7 .on("positive", (dialog) => {
8 toast("你点击了确定");
9 })
10 .show();
事件: negative
取消按钮按下时触发的事件。例如:
1var d = dialogs
2 .build({
3 title: "标题",
4 positive: "确定",
5 negative: "取消",
6 })
7 .on("negative", (dialog) => {
8 toast("你点击了取消");
9 })
10 .show();
事件: neutral
中性按钮按下时触发的事件。例如:
1var d = dialogs
2 .build({
3 title: "标题",
4 positive: "确定",
5 negative: "取消",
6 neutral: "稍后提示",
7 })
8 .on("positive", (dialog) => {
9 toast("你点击了稍后提示");
10 })
11 .show();
事件: any
dialog
{Dialog} 对话框
action
{string} 被点击的按钮,可能的值为:
positive
确定按钮
negative
取消按钮
neutral
中性按钮
任意按钮按下时触发的事件。例如:
1var d = dialogs
2 .build({
3 title: "标题",
4 positive: "确定",
5 negative: "取消",
6 neutral: "稍后提示",
7 })
8 .on("any", (action, dialog) => {
9 if (action == "positive") {
10 toast("你点击了确定");
11 } else if (action == "negative") {
12 toast("你点击了取消");
13 }
14 })
15 .show();
事件: item_select
index
{number} 被选中的项目索引,从 0 开始
item
{Object} 被选中的项目
dialog
{Dialog} 对话框
对话框列表(itemsSelectMode 为"select")的项目被点击选中时触发的事件。例如:
1var d = dialogs
2 .build({
3 title: "请选择",
4 positive: "确定",
5 negative: "取消",
6 items: ["A", "B", "C", "D"],
7 itemsSelectMode: "select",
8 })
9 .on("item_select", (index, item, dialog) => {
10 toast("您选择的是第" + (index + 1) + "项, 选项为" + item);
11 })
12 .show();
事件: single_choice
index
{number} 被选中的项目索引,从 0 开始
item
{Object} 被选中的项目
dialog
{Dialog} 对话框
对话框单选列表(itemsSelectMode 为"singleChoice")的项目被选中并点击确定时触发的事件。例如:
1var d = dialogs
2 .build({
3 title: "请选择",
4 positive: "确定",
5 negative: "取消",
6 items: ["A", "B", "C", "D"],
7 itemsSelectMode: "singleChoice",
8 })
9 .on("item_select", (index, item, dialog) => {
10 toast("您选择的是第" + (index + 1) + "项, 选项为" + item);
11 })
12 .show();
事件: multi_choice
indices
{Array} 被选中的项目的索引的数组
items
{Array} 被选中的项目的数组
dialog
{Dialog} 对话框
对话框多选列表(itemsSelectMode 为"multiChoice")的项目被选中并点击确定时触发的事件。例如:
1var d = dialogs.build({
2 title: "请选择",
3 positive: "确定",
4 negative: "取消",
5 items: ["A", "B", "C", "D"],
6 itemsSelectMode: "multiChoice"
7}).on("item_select", (indices, items, dialog)=>{
8 toast(util.format("您选择的项目为%o, 选项为%o", indices, items);
9}).show();
事件: input
text
{string} 输入框的内容
dialog
{Dialog} 对话框
带有输入框的对话框当点击确定时会触发的事件。例如:
1dialogs
2 .build({
3 title: "请输入",
4 positive: "确定",
5 negative: "取消",
6 inputPrefill: "",
7 })
8 .on("input", (text, dialog) => {
9 toast("你输入的是" + text);
10 })
11 .show();
事件: input_change
text
{string} 输入框的内容
dialog
{Dialog} 对话框
对话框的输入框的文本发生变化时会触发的事件。例如:
1dialogs
2 .build({
3 title: "请输入",
4 positive: "确定",
5 negative: "取消",
6 inputPrefill: "",
7 })
8 .on("input_change", (text, dialog) => {
9 toast("你输入的是" + text);
10 })
11 .show();
dialog.getProgress()
获取当前进度条的进度值,是一个整数
dialog.getMaxProgress()
获取当前进度条的最大进度值,是一个整数
dialog.getActionButton(action)
action
{string} 动作,包括:
positive
negative
neutral