A message plugin base on Vue with Typescript support
supports only Vue 3
you can install the package yarn:
yarn add vue-message-plugin-ts
or npm:
npm i vue-message-plugin-ts
import { createApp, h } from 'vue'
import Message from 'vue-message-plugin-ts'
import 'vue-message-plugin-ts/dist/style.css'
import App from './App.vue'
const app = createApp(App)
app.use(Message)
// or
app.use(Message, options?: { position?: IMessagesOption } as IMessagesOption)
app.mount('#app')
// App.vue
<template>
<app-messages />
<component :is="layoutName">
<RouterView />
</component>
</template>
Usage in components
// Component.vue
<script lang="ts" setup>
import { inject } from 'vue'
const message = inject('message')
function errorAction () {
message.addNewMessage({
title: 'Action error',
type: 'error',
duration: 5000,
})
}
function startWait () {
message.startWait()
}
function stopWait () {
message.stopWait()
}
</script>
Attribute | Descripttion | Type | Optional value | Default |
---|---|---|---|---|
position | Messages display position | string | ‘top-left’, ‘top-center’, ‘top-right’, ‘right-center’, ‘bottom-right’, ‘botom-center’, ‘bottom-left’, ‘left-center’ | ‘top-right’ |
Attribute | Descripttion | Type | Optional value | Default |
---|---|---|---|---|
addNewMessage | Adding a new message | (message: IMessageItem) ⇒ void | IMessageItem | — |
removeMessage | Remove message by id | (id: TMessageId) ⇒ void | TMessageId | — |
startWait | Wait loader message | (message?: IMessageItem) ⇒ void | IMessageItem | |
stopWait | Stop wait loader message | (id?: TMessageId) ⇒ void | TMessageId |
Attribute | Descripttion | Type | Optional value | Default | required |
---|---|---|---|---|---|
body | Body of message | TMessageField | — | — | — |
duration | Duration of message, if you don't add duration then you have to remove it yourself | number | — | — | false |
type | Type of message | TMessageTypes | ‘error’, ‘success’, ‘warning’, ‘custom’, ‘wait’ | — | true |
img | Icon image of message | TMessageField | — | — | false |
class | Class of message | TMessageClass | — | — | false |
key?: string | Key of message | string | — | — | false |
- type TMessageField = string | {value: string | any, class: TMessageClass}
- type TMessageTypes = ‘error’ | ‘success’ | ‘warning’ | ‘custom’ | ‘wait’
- type TMessageClass = string | string[]
- type TMessageId = number | string
Name | Descripttion | Value |
---|---|---|
message__img-wait | Message slot name for wait messages icon image | IMessageItem |
message__img-success | Message slot name for success messages icon image | IMessageItem |
message__img-error | Message slot name for error messages icon image | IMessageItem |
message__img-warning | Message slot name for warning messages icon image | IMessageItem |
message__img-custom | Message slot name for custom messages icon image | IMessageItem |
message__title-wait | Message slot name for wait messages title | IMessageItem |
message__title-success | Message slot name for success messages title | IMessageItem |
message__title-warning | Message slot name for warning messages title | IMessageItem |
message__title-error | Message slot name for error messages title | IMessageItem |
message__title-custom | Message slot name for custom messages title | IMessageItem |
You can add wait message with method startWait and this method creates default message, if you want to add custom wait message you can use method addNewMessage() and then if you want to stop this custom message u can use stopWait agait but with argument id that has been given when created message so you can create default wait message also custom wait message
Licensed as MIT.