123456789101112131415161718192021222324252627282930313233343536373839 |
- import { createApp } from 'vue'
- import ToastMessage from './message.vue'
- import vuetify from '@/plugins/vuetify'
- // var timeId
- const toastMessage = (options) => {
- const rootNode = document.createElement("div")
- document.querySelector('.v-application').appendChild(rootNode)
- const app = createApp(ToastMessage, options)
- app.use(vuetify)
- app.mount(rootNode)
- const { timeout } = options || {}
- // clearTimeout(timeId)
- setTimeout(() => {
- app.unmount()
- rootNode.remove()
- }, timeout || 3000)
- }
- toastMessage.success = (message, variant, timeout) => {
- toastMessage({ message, color: 'success', variant, timeout })
- }
- toastMessage.error = (message, variant, timeout) => {
- toastMessage({ message, color: 'error', variant, timeout })
- }
- toastMessage.info = (message, variant, timeout) => {
- toastMessage({ message, color: 'info', variant, timeout })
- }
- toastMessage.warning = (message, variant, timeout) => {
- toastMessage({ message, color: 'warning', variant, timeout })
- }
- toastMessage.point = (message, variant, timeout) => {
- toastMessage({ message, color: 'point', variant, timeout })
- }
- // 注册插件app.use()会自动执行install函数
- toastMessage.install = (app) => {
- app.config.globalProperties.Snackbar = toastMessage
- }
- export default toastMessage
|