UNPKG

@nutui/nutui

Version:

京东风格的轻量级移动端 Vue2、Vue3 组件库(支持小程序开发)

40 lines (39 loc) 1.11 kB
import { createApp } from "vue"; import { h as isString, i as isFunction } from "./util-D1pvnUYu.js"; const CreateComponent = (options, component) => { let elWrap = document.body; const teleport = options.teleport || "body"; if (teleport != "body") { if (isString(teleport)) { elWrap = document.querySelector(teleport); } else { elWrap = options.teleport; } } const root = document.createElement("view"); const name = component.name ? component.name + "-" : ""; const id1 = options.id || (/* @__PURE__ */ new Date()).getTime(); root.id = name + id1; let Wrapper = {}; if (isFunction(component.wrapper)) { Wrapper = component.wrapper(elWrap, root); } else { Wrapper = component.wrapper; } const instance = createApp(Wrapper, options); const componens = component.components; componens && componens.forEach((comp) => { instance.use(comp); }); elWrap.appendChild(root); return { instance: instance.mount(root), unmount: () => { instance.unmount(); elWrap.removeChild(root); } }; }; export { CreateComponent as C };