Vue-Easy-Toast
A toast plugin for vue/vue2.
Note: Since 1.x.x, only Vue 2 is supported. For Vue 1 users please stick to version 0.x.x
Issue/PR is welcomed, I'll response as soon as possible.
Usage
install
npm install vue-easy-toast --save
Quickstart
// before start import Toast from 'vue-easy-toast' // or a lite version without inline css, then you have to style yourself or manually import 'vue-easy-toast.css' import Toast from 'vue-easy-toast/dist/vue-easy-toast-lite.min.js' require('vue-easy-toast/dist/vue-easy-toast.css') // optional Vue.use(Toast) // in your code Vue.toast('Can I have everybody`s attention?') // or $vm.$toast('Let me give a toast to you all.') // or with HTML Tags $vm.$toast('Hi <strong>Jonh</strong>')
More
toast
or $toast
takes 2 parameter: (message, [options])
Options
Parameter | Type | Default | Description |
---|---|---|---|
id | string | easy-toast-default | Unique identifier globally. Use this to create multiple toasts with different setups. |
parent | string | body | Selector of the container (TODO, not ready yet, position is fixed to the window) |
className | string , array | Self-defined class names to pass through. There are 3 pre-defined classes: et-info , et-warn ,et-alert , to toast with different background color | |
horizontalPosition | string | right | Position horizontal of toast. There are 3 pre-defined positions: left , right and center |
verticalPosition | string | top | Position vertical of toast. There are 2 pre-defined positions: top and bottom |
duration | number | 5000 | The duration one toast will last, in milliseconds |
mode | string | override | override or queue . If override , the last toast will forcibly flush previous |
closeable | boolean | false | true or false . If true , the toast can be closed manually |
transition | string | fade | Built-in transitions: fade , slide-[up/down/left/right] . See also Transitions |
Styling
Besides minimum styling, vue-easy-toast try not to be opinionated about the appearance. It is a simply a div
(class="et-wrapper") wrapped a span
(class="et-content"). Apply your css freely with them or with your own classes passed in as className
.
example
Vue.toast('Hi, there!', { id: 'my-toast', parent: '#toast-container', className: ['my-toast', 'toast-warning'], horizontalPosition: 'right', verticalPosition: 'top', duration: 3000, mode: 'queue', transition: 'my-transition' })
TODO
- font-awesome? emoji?
License
MIT