DevExtreme Angular - Overview
The Toast is a widget that provides pop-up notifications.
The Toast widget does not need to be created on the page before it can be shown. You can simply call the notify(message, type, displayTime) method with values for the message, type and displayTime options passed as the arguments.
jQuery
DevExpress.ui.notify("Connection problem", "error", 3000)
Angular
import notify from "devextreme/ui/notify"; // ... export class AppComponent { showToast() { notify("Connection problem", "error", 3000); } } @NgModule({ imports: [ // ... ], // ... })
Vue
<script> import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import notify from "devextreme/ui/notify"; export default { components: { // ... }, methods: { showToast() { notify("Connection problem", "error", 3000); } } } </script>
React
import React from 'react'; import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import notify from "devextreme/ui/notify"; class App extends React.Component { showToast() { notify("Connection problem", "error", 3000); } render() { return ( {/* ... */} ); } } export default App;
If you need to specify other Toast options, call the same method, but this time pass an object as the argument. In this object, you can set any Toast option.
jQuery
DevExpress.ui.notify({ message: "Connection problem", type: "error", displayTime: 3000, height: 100 });
Angular
import notify from "devextreme/ui/notify"; // ... export class AppComponent { showToast() { notify({ message: "Connection problem", type: "error", displayTime: 3000, height: 100 }); } } @NgModule({ imports: [ // ... ], // ... })
Vue
<script> import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import notify from "devextreme/ui/notify"; export default { components: { // ... }, methods: { showToast() { notify({ message: "Connection problem", type: "error", displayTime: 3000, height: 100 }); } } } </script>
React
import React from 'react'; import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import notify from "devextreme/ui/notify"; class App extends React.Component { showToast() { notify({ message: "Connection problem", type: "error", displayTime: 3000, height: 100 }); } render() { return ( {/* ... */} ); } } export default App;
If you are going to reuse the Toast, then create it on the page using the following code. Note that in this code, the Button widget invokes the Toast.
jQuery
<div id="toastContainer"></div> <div id="buttonContainer"></div>
$(function() { $("#toastContainer").dxToast({ message: "Connection problem", type: "error" }); $("#buttonContainer").dxButton({ text: "Show the Toast", onClick: function () { $("#toastContainer").dxToast("show"); } }); });
Angular
<dx-toast [(visible)]="isVisible" type="error" message="Connection problem"> </dx-toast> <dx-button text="Show the Toast" (onClick)="isVisible = true"> </dx-button>
import { DxButtonModule, DxToastModule } from "devextreme-angular"; // ... export class AppComponent { isVisible: boolean = false; } @NgModule({ imports: [ DxButtonModule, DxToastModule, // ... ], // ... })
Vue
<template> <div> <DxToast :visible.sync="isVisible" message="Connection problem" type="error" /> <DxButton text="Show the Toast" @click="onClick" /> </div> </template> <script> import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { DxToast } from 'devextreme-vue/toast'; import { DxButton } from 'devextreme-vue/button'; export default { components: { DxToast, DxButton }, data() { return { isVisible: false }; }, methods: { onClick() { this.isVisible = true; } } } </script>
React
import React from 'react'; import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { Toast } from 'devextreme-react/toast'; import { Button } from 'devextreme-react/button'; class App extends React.Component { constructor(props) { super(props); this.state = { isVisible: false }; this.onClick = this.onClick.bind(this); this.onHiding = this.onHiding.bind(this); } onClick() { this.setState({ isVisible: true }); } onHiding() { this.setState({ isVisible: false }); } render() { return ( <div> <Toast visible={this.state.isVisible} message="Connection problem" type="error" onHiding={this.onHiding} /> <Button text="Show the Toast" onClick={this.onClick} /> </div> ); } } export default App;
The appearance of the Toast is predefined by its type. Depending on the mood of the message that the Toast displays, the type can be "info", "warning", "error" or "success". There is also the "custom" type that allows you to define a custom appearance for the Toast. Find more information about this in the Customize the Content article.
See Also
- Configure a Widget: Angular | Vue | React | jQuery | AngularJS | Knockout | ASP.NET MVC 5 | ASP.NET Core
- Toast - Show and Hide
- Toast - Customize the Content
- Toast - Resize and Relocate
- Toast API Reference
If you have technical questions, please create a support ticket in the DevExpress Support Center.