element-plus/packages/components/popper/src/container.ts

23 lines
613 B
TypeScript
Raw Normal View History

import { onBeforeMount } from 'vue'
import { isClient } from '@vueuse/core'
import { generateId } from '@element-plus/utils/util'
let cachedContainer: HTMLElement
export const POPPER_CONTAINER_ID = `el-popper-container-${generateId()}`
export const POPPER_CONTAINER_SELECTOR = `#${POPPER_CONTAINER_ID}`
export const usePopperContainer = () => {
onBeforeMount(() => {
if (!isClient) return
if (!cachedContainer) {
const container = document.createElement('div')
container.id = POPPER_CONTAINER_ID
document.body.appendChild(container)
cachedContainer = container
}
})
}