This commit is contained in:
zyronon
2023-09-23 01:02:37 +08:00
parent 763cb74cd9
commit 6c09b695a5
11 changed files with 197 additions and 134 deletions

View File

@@ -3,67 +3,67 @@ import Modal, {ModalProps} from "@/components/Modal/Modal.vue";
import {AppContext, Component, ComponentPublicInstance, createVNode, getCurrentInstance, render, VNode} from 'vue';
export class MessageBox {
static confirm(
content: string,
title: string,
onOk: () => any = () => void 0,
onCancel: () => any = () => void 0,
config: ModalProps = {}
) {
let container = document.createElement('div')
const close = () => {
render(null, container);
container.remove()
}
let tempOnCancel = () => {
onCancel()
close()
}
let tempOnOk = () => {
onOk()
close()
}
const vNode = createVNode(Modal, {
title,
content,
onCancel: tempOnCancel,
onOk: tempOnOk,
footer: true,
...config
});
// const appContext = getCurrentInstance()?.appContext;
// // 补丁Component中获取当前组件树的provides
// if (appContext) {
// const currentProvides = (getCurrentInstance() as any)?.provides;
// Reflect.set(appContext, 'provides', {...appContext.provides, ...currentProvides});
// }
// vNode.appContext = appContext;
render(vNode, container);
document.body.append(container)
static confirm(
content: string,
title: string,
onOk: () => any = () => void 0,
onCancel: () => any = () => void 0,
config: ModalProps = {}
) {
let container = document.createElement('div')
const close = () => {
render(null, container);
container.remove()
}
let tempOnCancel = () => {
onCancel()
close()
}
let tempOnOk = () => {
onOk()
close()
}
const vNode = createVNode(Modal, {
title,
content,
onCancel: tempOnCancel,
onOk: tempOnOk,
footer: true,
...config
});
// const appContext = getCurrentInstance()?.appContext;
// // 补丁Component中获取当前组件树的provides
// if (appContext) {
// const currentProvides = (getCurrentInstance() as any)?.provides;
// Reflect.set(appContext, 'provides', {...appContext.provides, ...currentProvides});
// }
// vNode.appContext = appContext;
render(vNode, container);
document.body.append(container)
}
static notice(
content: string,
title: string,
) {
let container = document.createElement('div')
let tempOnCancel = () => {
render(null, container);
container.remove()
}
const vNode = createVNode(Modal, {
title,
content,
onCancel: tempOnCancel,
});
// const appContext = getCurrentInstance()?.appContext;
// // 补丁Component中获取当前组件树的provides
// if (appContext) {
// const currentProvides = (getCurrentInstance() as any)?.provides;
// Reflect.set(appContext, 'provides', {...appContext.provides, ...currentProvides});
// }
// vNode.appContext = appContext;
render(vNode, container);
document.body.append(container)
static notice(
content: string,
title: string,
) {
let container = document.createElement('div')
let tempOnCancel = () => {
render(null, container);
container.remove()
}
const vNode = createVNode(Modal, {
title,
content,
onCancel: tempOnCancel,
});
// const appContext = getCurrentInstance()?.appContext;
// // 补丁Component中获取当前组件树的provides
// if (appContext) {
// const currentProvides = (getCurrentInstance() as any)?.provides;
// Reflect.set(appContext, 'provides', {...appContext.provides, ...currentProvides});
// }
// vNode.appContext = appContext;
render(vNode, container);
document.body.append(container)
}
}