vue-toast-notification
Vue Toast Notification
Yet another Vue.js Toast notification plugin.
Demo or JSFiddle
Version matrix
| Vue.js version | Package version | Branch |
|---|---|---|
| 2.x | 1.x | 1.x |
| 3.x | 3.x | main |
Installation
npm install vue-toast-notification@^3
Usage
Plugin usage
Install the plugin
import {createApp} from 'vue';
import ToastPlugin from 'vue-toast-notification';
// Import one of the available themes
//import 'vue-toast-notification/dist/theme-default.css';
import 'vue-toast-notification/dist/theme-bootstrap.css';
const app = createApp({});
app.use(ToastPlugin);
app.mount('#app');
Then use in your components
export default {
mounted() {
let instance = this.$toast.open('You did it!');
// Force dismiss specific toast
instance.dismiss();
// Dismiss all opened toast immediately
this.$toast.clear();
}
}
Composition API usage
import {useToast} from 'vue-toast-notification';
import 'vue-toast-notification/dist/theme-sugar.css';
const $toast = useToast();
let instance = $toast.success('You did it!');
// Force dismiss specific toast
instance.dismiss();
// Dismiss all opened toast immediately
$toast.clear();
Available options
The API methods accepts these options:
| Attribute | Type | Default | Description |
|---|---|---|---|
| message | String | -- | Message text/html (required) |
| type | String | success |
One of success, info, warning, error, default |
| position | String | bottom-right |
One of top, bottom, top-right, bottom-right,top-left, bottom-left |
| duration | Number | 3000 |
Visibility duration in milliseconds, set to 0 to keep toast visible |
| dismissible | Boolean | true |
Allow user dismiss by clicking |
| onClick | Function | -- | Do something when user clicks |
| onDismiss | Function | -- | Do something after toast gets dismissed |
| queue | Boolean | false |
Wait for existing to dismiss before showing new |
| pauseOnHover | Boolean | true |
Pause the timer when mouse on over a toast |
API methods
this.$toast.open(options)
This is generic method, you can use this method to make any kind of toast.
// Can accept a message as string and apply rest of options from defaults
this.$toast.open('Howdy!');
// Can accept an Object of options
this.$toast.open({
message: 'Something went wrong!',
type: 'error',
// all of other options may go here
});
this.$toast.success(message,?options)
There are some proxy methods to make it more readable.
this.$toast.success('Profile saved.', {
// optional options Object
})
this.$toast.error(message,?options)
this.$toast.warning(message,?options)
this.$toast.info(message,?options)
this.$toast.default(message,?options)
Global options
You can set options for all the instances during plugin initialization
app.use(VueToast, {
// One of the options
position: 'top'
})
Further you can override option when creating new instances
this.$toast.success('Order placed.', {
// override the global option
position: 'bottom'
})
Install in non-module environments (without webpack)
<!-- Vue.js -->
<script src="https://cdn.jsdelivr.net/npm/vue@3"></script>
<!-- Lastly add this package -->
<script src="https://cdn.jsdelivr.net/npm/vue-toast-notification@3"></script>
<link href="https://cdn.jsdelivr.net/npm/vue-toast-notification@3/dist/theme-sugar.css" rel="stylesheet">
<!-- Init the plugin -->
<script>
const app = Vue.createApp({});
app.use(VueToast.ToastPlugin);
app.mount('#app');
</script>
Run examples on your localhost
- Clone this repo
- Make sure you have node-js
>=20.16and pnpm>=9.3pre-installed - Install dependencies -
pnpm install - Run webpack dev server -
pnpm start - This should open the demo page in your default web browser
Acknowledgements
- Buefy Toast component
License
MIT License
Related Packages
vue-toast-notification-x
Vue.js toast notification plugin, Degica fork of original by ankurk91
11,697
0
vue-on-toast
A powerful, compact, Server Side Rendering supported Toast Notification componen...
2,348
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 3.1.3 | ^3.0 | MIT | |
| 3.1.2 | ^3.0 | MIT | |
| 3.1.1 | ^3.0 | MIT | |
| 3.1.0 | ^3.0 | MIT | |
| 3.0.4 | ^3.0 | MIT | |
| 3.0.3 | ^3.0 | MIT | |
| 3.0.2 | ^3.0 | MIT | |
| 3.0.1 | ^3.0 | MIT | |
| 3.0.0 | ^3.0 | MIT | |
| 2.0.1 | ^3.0 | MIT | |
| 2.0.0 | ^3.0 | MIT | |
| 1.0.1 | ^2.7.0 | MIT | |
| 1.0.0 | ^2.7.0 | MIT | |
| 0.6.3 | ^2.0.0 | MIT | |
| 0.6.2 | ^2.0.0 | MIT | |
| 0.6.1 | ^2.0.0 | MIT | |
| 0.6.0 | ^2.0.0 | MIT | |
| 0.5.4 | ^2.0.0 | MIT | |
| 0.5.3 | ^2.0.0 | MIT | |
| 0.5.2 | ^2.0.0 | MIT | |
| 0.5.1 | ^2.0.0 | MIT | |
| 0.5.0 | ^2.0.0 | MIT | |
| 0.4.1 | ^2.0.0 | MIT | |
| 0.4.0 | ^2.0.0 | MIT | |
| 0.3.0 | ^2.0.0 | MIT | |
| 0.2.0 | ^2.0.0 | MIT | |
| 0.1.1 | ^2.0.0 | MIT | |
| 0.1.0 | ^2.0.0 | MIT | |
| 0.0.3 | ^2.0.0 | MIT | |
| 0.0.2 | ^2.0.0 | MIT |
Showing the latest 30 of 31. See every release on npm