• 简体中文
  • Popover 气泡卡片

    在元素附近展示说明或补充操作。

    基础用法

    交互预览基础用法
    basic.tsx
    import { Button, Input, Popover } from '@sudden3/leaf-ui';
    
    export function PopoverBasic() {
      return (
        <div className="leaf-demo-row">
          <Popover
            title="项目信息"
            content={
              <div className="leaf-demo-stack">
                <Input aria-label="项目名称" defaultValue="Leaf Garden" />
                <Button>保存</Button>
              </div>
            }
            width={260}
          >
            <Button variant="outline">点击编辑</Button>
          </Popover>
          <Popover
            title="提示"
            trigger="hover"
            placement="right"
            content="这里可以查看项目的更多说明。"
          >
            <Button variant="soft">悬停查看</Button>
          </Popover>
        </div>
      );
    }
    

    Popover API

    属性类型默认值说明
    childrenReactElement必填触发元素,需要支持 ref 与事件
    title / contentReactNode— / 必填标题 / 内容
    trigger'click' | 'hover''click'触发方式
    placement'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end''top'浮层方向
    open / defaultOpenbooleanfalse受控 / 初始展开状态
    onOpenChange(open: boolean) => void—展开状态变化
    disabledbooleanfalse禁止展开
    autoFocusbooleantrue点击展开后聚焦第一个操作
    enterDelay / leaveDelaynumber100悬停展开 / 收起延迟,毫秒
    width / maxWidthnumber | string'max-content' / 320宽度 / 最大宽度
    className / stylestring / CSSProperties—作用于浮层

    类型

    定义组件属性或组装列表时可导入相关类型。

    import type { PopoverProps } from '@sudden3/leaf-ui';

    使用说明

    点击浮层适合放置交互内容;悬停浮层适合说明文字。Escape、点击外部和移走焦点会收起浮层,交互内容中的 Tab 顺序保持可用。没有标题时请使用 aria-label 提供名称。