Dialogs are defined using the <ons-dialog>
, <ons-alert-dialog>
and <ons-toast>
tags.
<ons-dialog var="dialog">
This is a dialog!
</ons-dialog>
var
attribute is used to store the dialog in a variable for later access.
Alert dialogs work exactly like normal dialogs but they require some additional markup. With this element you can create a beautifully styled dialog without any additional CSS.
<ons-alert-dialog>
<div class="alert-dialog-title">Warning!</div>
<div class="alert-dialog-content">
An error has occurred!
</div>
<div class="alert-dialog-footer">
<button class="alert-dialog-button">Cancel</button>
<button class="alert-dialog-button">OK</button>
</div>
</ons-alert-dialog>
Dialogs are hidden by default and usually attached as direct children of the <body>
tag.
To display a dialog you need to get a reference to the element and execute the show(options)
method.
It is hidden with the hide(options)
method.
Another way to use dialogs is with the ons.createElement(template)
utility function. The dialog needs to be defined as a template and the function returns a Promise
that resolves to the dialog element.
<template id="dialog.html">
<ons-dialog>
This dialog is defined as a template.
</ons-dialog>
</template>
ons
.createElement('dialog.html', { append: true })
.then(function(dialog) {
dialog.show();
});
For AngularJS, an extra parameter can be passed to specify the scope of the new popover: ons.createElement('dialog.html', { parentScope: $scope });
cancelable
attributeThe <ons-dialog>
, <ons-alert-dialog>
and <ons-toast>
support the cancelable
attribute. This enables hiding the dialog by tapping outside of it or by pressing the back button on Android devices.
<ons-dialog cancelable>
This dialog can be cancelled!
</ons-dialog>
Try adding the cancelable
attribute to one of the dialogs to see how it works.
Another way to display dialogs is with the ons.notification
methods:
ons.notification.alert(options)
ons.notification.confirm(options)
ons.notification.prompt(options)
ons.notification.toast(options)
These methods all return a Promise
. For the confirm
it resolves to the index of the button pressed and for the prompt
it resolves to the user input.
ons
.notification.prompt({message: 'What is your name?'})
.then(function(name) {
ons.notification.alert('Hello ' + name);
});
名前 | 型 / デフォルト値 | 概要 |
---|---|---|
animation |
String
default |
The animation used when showing and hiding the toast. Can be either "default" , "ascend" (Android), "lift" (iOS), "fall" , "fade" or "none" .
(翻訳中)
Optional.
|
animation-options | Expression |
アニメーション時のduration, timing, delayをオブジェクトリテラルで指定します。e.g. {duration: 0.2, delay: 1, timing: ‘ease-in’}
Optional.
|
visible | Boolean |
要素が見える場合にtrue 。
Optional.
|
var | String | このトーストを参照するための名前を指定します。 Optional. 初期化時のみ有効 |
ons-preshow | Expression | “preshow”イベントが発火された時の挙動を独自に指定できます。 Optional. 初期化時のみ有効 |
ons-prehide | Expression | “prehide”イベントが発火された時の挙動を独自に指定できます。 Optional. 初期化時のみ有効 |
ons-postshow | Expression | “postshow”イベントが発火された時の挙動を独自に指定できます。 Optional. 初期化時のみ有効 |
ons-posthide | Expression | “posthide”イベントが発火された時の挙動を独自に指定できます。 Optional. 初期化時のみ有効 |
ons-destroy | Expression | “destroy”イベントが発火された時の挙動を独自に指定できます。 Optional. 初期化時のみ有効 |
名前 | 概要 |
---|---|
animationOptions | アニメーション時のduration, timing, delayをオブジェクトリテラルで指定します。例:{duration: 0.2, delay: 1, timing: ‘ease-in’} |
onDeviceBackButton | バックボタンハンドラ。 |
visible |
要素が見える場合にtrue 。
|
シグネチャ | 概要 |
---|---|
show([options]) | Show the element. (翻訳中) |
toggle([options]) | Toggle toast visibility. (翻訳中) |
hide([options]) | Hide toast. (翻訳中) |
on(eventName, listener) | イベントリスナーを追加します。 |
once(eventName, listener) | 一度だけ呼び出されるイベントリスナーを追加します。 |
off(eventName, [listener]) | イベントリスナーを削除します。もしlistenerパラメータが指定されなかった場合、そのイベントのリスナーが全て削除されます。 |
Show the element. (翻訳中)
返り値:
名前 | 型 | 概要 |
---|---|---|
options | Object | オプションを指定するオブジェクト。 |
options.animation | String |
Animation name. Available animations are "default" , "ascend" (Android), "lift" (iOS), "fall" , "fade" or "none" .
(翻訳中)
|
options.animationOptions | String | アニメーション時のduration, delay, timingを指定します。e.g. {duration: 0.2, delay: 0.4, timing: ‘ease-in’} |
Toggle toast visibility. (翻訳中)
名前 | 型 | 概要 |
---|---|---|
options | Object | オプションを指定するオブジェクト。 |
options.animation | String |
Animation name. Available animations are "default" , "ascend" (Android), "lift" (iOS), "fall" , "fade" or "none" .
(翻訳中)
|
options.animationOptions | String | アニメーション時のduration, delay, timingを指定します。e.g. {duration: 0.2, delay: 0.4, timing: ‘ease-in’} |
Hide toast. (翻訳中)
返り値:
名前 | 型 | 概要 |
---|---|---|
options | Object | オプションを指定するオブジェクト。 |
options.animation | String |
Animation name. Available animations are "default" , "ascend" (Android), "lift" (iOS), "fall" , "fade" or "none" .
(翻訳中)
|
options.animationOptions | String | アニメーション時のduration, delay, timingを指定します。e.g. {duration: 0.2, delay: 0.4, timing: ‘ease-in’} |
イベントリスナーを追加します。
名前 | 型 | 概要 |
---|---|---|
eventName | String | イベント名を指定します。 |
listener | Function | イベントが発火された際に呼び出されるコールバックを指定します。 |
一度だけ呼び出されるイベントリスナーを追加します。
名前 | 型 | 概要 |
---|---|---|
eventName | String | イベント名を指定します。 |
listener | Function | イベントが発火した際に呼び出されるコールバックを指定します。 |
イベントリスナーを削除します。もしlistenerパラメータが指定されなかった場合、そのイベントのリスナーが全て削除されます。
名前 | 型 | 概要 |
---|---|---|
eventName | String | イベント名を指定します。 |
listener | Function | 削除するイベントリスナーの関数オブジェクトを渡します。 |
名前 | 概要 |
---|---|
preshow | ダイアログが表示される直前に発火します。 |
postshow | ダイアログが表示された直後に発火します。 |
prehide | ダイアログが隠れる直前に発火します。 |
posthide | ダイアログが隠れた後に発火します。 |
ダイアログが表示される直前に発火します。
名前 | 型 | 概要 |
---|---|---|
event | Object | Event object. |
event.toast | Object | ダイアログのオブジェクト。 |
event.cancel | Function | この関数を実行すると、ダイアログの表示を止めます。 |
ダイアログが表示された直後に発火します。
名前 | 型 | 概要 |
---|---|---|
event | Object | Event object. |
event.toast | Object | ダイアログのオブジェクト。 |
ダイアログが隠れる直前に発火します。
名前 | 型 | 概要 |
---|---|---|
event | Object | Event object. |
event.toast | Object | ダイアログのオブジェクト。 |
event.cancel | Function | この関数を実行すると、ダイアログが閉じようとするのを止めます。 |
ダイアログが隠れた後に発火します。
名前 | 型 | 概要 |
---|---|---|
event | Object | Event object. |
event.toast | Object | ダイアログのオブジェクト。 |
Onsen UIに関する質問は、Stack Overflowにてonsen-uiタグを付与してください。Onsen UIチームはあなたの問題解決をお手伝いします。
バグ報告や機能要望については、GitHub Issuesに記載をお願いいたします。
あわせて、下記の情報も参考にしてください。