當 parent 有設定 overflow hidden 時如果 children 內容有包含 popover 或是 tooltip 等等 floating 內容時,我們可以把 children 移除 parent,然後用定位的方式放到想要的位置, Chakra UI 可以直接使用 Portal, 並且在 react 中 event bubbling 還是可以傳回 parent

import {
  Popover,
  PopoverTrigger,
  PopoverContent,
  PopoverHeader,
  PopoverBody,
  PopoverArrow,
  PopoverCloseButton,
  Button,
  Portal, // 關鍵:引入 Portal
  Box
} from '@chakra-ui/react'
 
function Example() {
  return (
    // 假設這是你那個有 overflow: hidden 的 wrapper
    <Box overflow="hidden" width="200px" height="100px" border="1px solid red">
      <Popover>
        <PopoverTrigger>
          <Button colorScheme="blue">打開 Popover</Button>
        </PopoverTrigger>
        
        {/* 使用 Portal 將內容傳送到 DOM 的最外層 */}
        <Portal>
          <PopoverContent>
            <PopoverArrow />
            <PopoverHeader>標題</PopoverHeader>
            <PopoverCloseButton />
            <PopoverBody>
              這裡的內容即便超出紅框範圍,
              也不會因為 overflow: hidden 而被切掉!
            </PopoverBody>
          </PopoverContent>
        </Portal>
      </Popover>
    </Box>
  )
}