30 lines
700 B
TypeScript
30 lines
700 B
TypeScript
import { createApp, ref } from 'vue'
|
|
import GlobalPopup from './index.vue'
|
|
|
|
const popupInstance = ref()
|
|
|
|
const openRegister = () => {
|
|
if (!popupInstance.value) {
|
|
const app = createApp(GlobalPopup, {
|
|
visible: true,
|
|
onClose: () => {
|
|
closeRegister()
|
|
},
|
|
})
|
|
|
|
const container = document.createElement('div')
|
|
document.body.appendChild(container)
|
|
popupInstance.value = app.mount(container)
|
|
}
|
|
// popupInstance.value.$el.innerHTML = content
|
|
}
|
|
|
|
const closeRegister = () => {
|
|
if (popupInstance.value) {
|
|
popupInstance.value.$el.parentNode.removeChild(popupInstance.value.$el)
|
|
popupInstance.value = null
|
|
}
|
|
}
|
|
|
|
export { openRegister, closeRegister }
|