UNPKG

dear-toast

Version:

一个基于Vue的通用Toast组件

32 lines (28 loc) 910 B
export default { install: (Vue, config = {}) => { let toastId = 1 const ToastConstructor = Vue.extend(require('./toast.vue').default) Object.defineProperty(Vue.prototype, config.prefix || '$toast', { value: options => { if (typeof options === 'string' || typeof options === 'number') { options = { content: options } } const ToastInstance = new ToastConstructor({ data: Object.assign({}, { show: true, duration: config.duration || 1400, }, options) }) ToastInstance.id = `dear-toast-${toastId}` ToastInstance.vm = ToastInstance.$mount() ToastInstance.dom = ToastInstance.vm.$el ToastInstance.dom.style.zIndex = 1000 + toastId document.body.appendChild(ToastInstance.dom) toastId++ return ToastInstance } }) } }