返回介绍

AlertDialog(对话框)

发布于 2020-10-20 06:58:13 字数 3660 浏览 918 评论 0 收藏 0

继承自Popup

对话框是一个原生对话弹出框,显示一个消息与最多三个按钮。关闭时会被自动释放。

使用“const {AlertDialog} = require('tabris');”引入该类。

属性

buttons

Type: {ok?: string, cancel?: string, neutral?: string}

含有按钮文本内容的对象。分别是这三种按钮:ok, cancelneutral。没有设置文本的按钮不会显示。示例: {ok: 'Yes', cancel: 'No'}显示‘Yes’和‘No’按钮,不显示‘neutral’按钮。

message

Type: string

对话框中显示的文本。

title

Type: string

对话框的标题。

事件

buttonsChanged

buttons属性改变时触发。

事件参数

  • target: this 事件触发的控件。

  • value: {ok?: string, cancel?: string, neutral?: string} buttons属性被设置的新的值。

close

当对话框被关闭时触发。

事件参数

  • target: this 事件触发的控件。

  • button: ‘ok’|’cancel’|’neutral’|’’ 关闭对话框的操作按钮类型。也可能是个空串,比如点了应用返回按钮而被关闭时。

closeCancel

当通过点击‘cancel’按钮关闭对话框时触发。

closeNeutral

当通过点击‘neutral’按钮关闭对话框时触发。

closeOk

当通过点击‘ok’按钮关闭对话框时触发。

messageChanged

message属性发生改变时触发。

事件参数

  • target: this 事件触发的控件。

  • value: string message属性被设置的新的值。

titleChanged

title属性发生改变时触发。

事件参数

  • target: this 事件触发的控件。

  • value: string title属性被设置的新的值。

示例

const {AlertDialog, Button, ui} = require('tabris');

// AlertDialog example

new Button({
  left: 16, top: 'prev() 16', right: 16,
  text: 'Show simple dialog'
}).on('select', () => {
  new AlertDialog({
    message: 'Your comment has been saved.',
    buttons: {ok: 'Acknowledge'}
  }).open();
}).appendTo(ui.contentView);

new Button({
  left: 16, top: 'prev() 16', right: 16,
  text: 'Show full featured dialog'
}).on('select', () => {
  new AlertDialog({
    title: 'Conflict while saving',
    message: 'How do you want to resolve the conflict?',
    buttons: {
      ok: 'Replace',
      cancel: 'Discard',
      neutral: 'Keep editing'
    }
  }).on({
    closeOk: () => console.log('Replace'),
    closeNeutral: () => console.log('Keep editing'),
    closeCancel: () => console.log('Discard'),
    close: ({button}) => console.log('Dialog closed: ' + button)
  }).open();
}).appendTo(ui.contentView);

new Button({
  left: 16, top: 'prev() 16', right: 16,
  text: 'Show self closing dialog'
}).on('select', () => {
  let alertDialog = new AlertDialog({
    message: 'This dialogs closes in 3 seconds.',
    buttons: {ok: 'OK'}
  }).open();
  setTimeout(() => alertDialog.close(), 3000);
}).appendTo(ui.contentView);

还可参阅

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文