UNPKG

yanzhen-design-vue

Version:

44 lines (43 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const vue = require("vue"); const lodashEs = require("lodash-es"); const closeComponent = (element) => { var _a; if (element) { vue.render(null, element); (_a = document.body) == null ? void 0 : _a.removeChild(element); } }; const openComponent = async ({ component, props = {}, element, appContext }) => { var _a, _b; if (!component) return; if (!element) { element = document.createElement("div"); element.className = lodashEs.uniqueId(); } try { if (typeof component === "function") { component = (_a = await component()) == null ? void 0 : _a.default; } const vnode = vue.h(component, props); if (appContext) { vnode.appContext = appContext; } vue.render(vnode, element); (_b = document.body) == null ? void 0 : _b.appendChild(element); vnode.close = () => { closeComponent(element); }; return vnode; } catch (error) { console.error("创建组件失败:", error); } }; exports.closeComponent = closeComponent; exports.openComponent = openComponent;