fix: skip deleting portal root node to avoid race condition
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import {
|
||||
Teleport,
|
||||
computed,
|
||||
defineComponent,
|
||||
getCurrentInstance,
|
||||
h,
|
||||
@@ -51,7 +50,6 @@ export let Portal = defineComponent({
|
||||
},
|
||||
setup(props, { slots, attrs }) {
|
||||
let element = ref<HTMLElement | null>(null)
|
||||
let ownerDocument = computed(() => getOwnerDocument(element))
|
||||
|
||||
let forcePortalRoot = usePortalRoot()
|
||||
let groupContext = inject(PortalGroupContext, null)
|
||||
@@ -90,16 +88,6 @@ export let Portal = defineComponent({
|
||||
didRegister = true
|
||||
})
|
||||
|
||||
onUnmounted(() => {
|
||||
let root = ownerDocument.value?.getElementById('headlessui-portal-root')
|
||||
if (!root) return
|
||||
if (myTarget.value !== root) return
|
||||
|
||||
if (myTarget.value.children.length <= 0) {
|
||||
myTarget.value.parentElement?.removeChild(myTarget.value)
|
||||
}
|
||||
})
|
||||
|
||||
return () => {
|
||||
if (!ready.value) return null
|
||||
if (myTarget.value === null) return null
|
||||
|
||||
Reference in New Issue
Block a user