UNPKG

kui-vue

Version:

A lightweight desktop UI component library suitable for Vue.js 2.

41 lines (37 loc) 1.1 kB
import newInstance from "./instance"; import { withInstall } from "../utils/vue"; let messageInstance; let Message = { name: "message", show(options = {}) { options.noticeType = "message"; if (!messageInstance) { messageInstance = newInstance({ props: { type: "message" } }); } // console.log(messageInstance, options); messageInstance?.show(options); }, destroy() { if (messageInstance) { messageInstance.destroy(); document.body.removeChild(messageInstance.$el); messageInstance = null; } }, install(app) { // app.provide("message", Message); // 可选:同时挂到 globalProperties 兼容 this.$message // app.config.globalProperties.$message = Message; //for 3 app.prototype.$message = Message; }, useMessage() { // return inject("message"); //for 3 return Message; }, }; ["info", "success", "warning", "error"].forEach((type) => { Message[type] = (content, duration, onClose) => { return Message.show({ type, content, duration, onClose }); }; }); export default withInstall(Message);