跳到主要內容

Popover 氣泡卡片

與 Tooltip 類似,但可承載標題與更豐富的內容(HTML 結構、列表等),點選或懸停觸發。

基礎用法​

方位、觸發方式與箭頭
import { LhButton, LhPopover } from '@lh-ui/react'

export default function Demo() {
return (
<LhPopover title="标题" content="这是气泡卡片的内容。" placement="top">
<LhButton>上方</LhButton>
</LhPopover>
)
}

Popover Props​

屬性說明型別可選值預設值
children觸發器節點ReactNode——
title標題(渲染為 __title 區)ReactNode——
content內容(渲染為 __content 區)ReactNode——
placement展示位置LhPopoverPlacementtop / bottom / left / right(含 -start / -end)'top'
trigger觸發方式LhPopoverTrigger'hover' | 'click' | 'focus' | 'manual''click'
disabled停用氣泡boolean—false
arrow是否顯示箭頭boolean—true
width浮層寬度string | number——
visible受控顯隱boolean——
defaultVisible非受控預設顯隱boolean—false
showAfter延遲顯示(ms,預設 200 防誤觸)number—200
hideAfter延遲隱藏(ms,預設 100 留給指標移進浮層)number—100
popperClass浮層自訂類別名string——
themeVars元件級主題變數Record<string, string>——
bgPattern元件級背景花紋string——
sx快速版面配置屬性(作用於觸發器)SxProps——

Popover 事件​

事件說明回呼簽名Vue 對照
onVisibleChange顯隱變化(受控與非受控都會觸發)(visible: boolean) => voidupdate:visible

ref​

forwardRef<HTMLDivElement> —— 觸發器根元素。LhPopoverInstance 暴露 show() / hide() / toggle() / isVisible。

圈焦

trigger="click" 時彈出層按對話框語義圈住焦點(Tab 在內部循環),關閉時歸還; hover / focus 觸發不搶焦點,與 plus 的 isModal 行為一致。

無障礙

浮層為 role="dialog";標題存在時以 aria-labelledby 關聯,觸發器以 aria-describedby 關聯浮層。

樣式​

import '@lh-ui/react/style/popover'