Vue3中封装函数式组件-弹窗组件

  • Post author:
  • Post category:vue


效果图:

实现代码:

index.ts:

import NewFolderDialog from './NewFolder.vue';
import { h, render, App } from 'vue';

const createMount = (app: App, opt: any) => {
    const mountNode = document.createElement('div');
    document.body.appendChild(mountNode);
    const vnode = h(NewFolderDialog, {
        ...opt,
        remove() {
            document.body.removeChild(mountNode);
        },
    });
    // 将vnode的上下文指向当前app的上下文
    vnode.appContext = app._context;
    render(vnode, mountNode);
};

const Modal = {
    install(app: App) {
        app.config.globalProperties.$newFolderDialog = {
            show: (options = {} as any) => {
        



版权声明:本文为qq_40323256原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。