Alert dialog that is displayed on top of the current screen. Useful for displaying questions, warnings or error messages to the user. The title, content and buttons can be easily customized and it will automatically switch style based on the platform.
To use the element it can either be attached directly to the <body>
element or dynamically created from a template using the ons.createAlertDialog(template)
utility function and the <template>
tag.
Alert dialogs are defined using <v-ons-alert-dialog>
and <v-ons-alert-dialog-button>
tags.
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.
To show or hide the dialog the visible
prop is used. An update:visible
event is fired when the user interacts with the component (taps the background mask). Use this event to refresh the value of visible
prop. v-model:visible
can also be used.
VOnsAlertDialog
allows to create custom alerts with optional inputs, methods or anything else. We can pass all the information with props:
<v-ons-alert-dialog modifier="rowfooter"
:title="myTitle"
:footer="{
Cancel: () => isVisible = false,
Ok: () => isVisible = false
}"
v-model:visible="isVisible"
>
Content here
</v-ons-alert-dialog>
For higher control, it is also possible to use slots (can be combined with props):
<v-ons-alert-dialog modifier="rowfooter"
v-model:visible="isVisible"
>
<span v-slot:title>Title</span>
Content here
<template v-slot:footer>
<v-ons-alert-dialog-button @click="isVisible = false">Cancel</v-ons-alert-dialog-button>
<v-ons-alert-dialog-button @click="isVisible = false">Ok</v-ons-alert-dialog-button>
</template>
</v-ons-alert-dialog>
The optional rowfooter
modifier forces the buttons to be displayed on a single row rather than a column.
The $ons.notification
object contains some useful methods to easily show alerts, confirmation dialogs and prompts:
$ons.notification.alert(message, options);
$ons.notification.confirm(message, options);
$ons.notification.prompt(message, options);
They all return a Promise
object that can be used to handle the input from the user.
$ons.notification.confirm('Are you ready?')
.then((response) => {
// Handle response.
});
Name | Description |
---|---|
material | Material Design style |
rowfooter | Horizontally aligns the footer buttons. |
Name | Description |
---|---|
preshow | Fired just before the alert dialog is displayed. |
postshow | Fired just after the alert dialog is displayed. |
prehide | Fired just before the alert dialog is hidden. |
posthide | Fired just after the alert dialog is hidden. |
dialogcancel | Fired when the dialog is canceled. |
update:visible |
Fired right after user interaction. Useful to update visible prop.
|
deviceBackButton | Fired on device back button. Default behavior is hiding the component if it is cancelable. Otherwise, calls parent handler. |
Fired just before the alert dialog is displayed.
Name | Type | Description |
---|---|---|
event | Object | Event object. |
event.alertDialog | Object | Alert dialog object. |
event.cancel | Function | Execute to stop the dialog from showing. |
Fired just after the alert dialog is displayed.
Name | Type | Description |
---|---|---|
event | Object | Event object. |
event.alertDialog | Object | Alert dialog object. |
Fired just before the alert dialog is hidden.
Name | Type | Description |
---|---|---|
event | Object | Event object. |
event.alertDialog | Object | Alert dialog object. |
event.cancel | Function | Execute to stop the dialog from hiding. |
Fired just after the alert dialog is hidden.
Name | Type | Description |
---|---|---|
event | Object | Event object. |
event.alertDialog | Object | Alert dialog object. |
Fired when the dialog is canceled.
Name | Type | Description |
---|
Fired right after user interaction. Useful to update visible
prop.
Name | Type | Description |
---|---|---|
event | Number |
New value for visible prop.
|
Fired on device back button. Default behavior is hiding the component if it is cancelable. Otherwise, calls parent handler.
If you have any questions, use our Community Forum or talk to us on Discord chat. The Onsen UI team and your peers in the community will work together to help solve your issues.
For bug reports and feature requests use our GitHub Issues page.