跳到内容
+

Popover(弹出框)

Popover 组件可用于在另一内容之上显示某些内容。

使用 Popover 组件时需要了解的事项

  • 此组件构建于 Modal 组件之上。
  • Popper 组件不同,滚动和点击外部区域会被阻止。
Enter 键开始编辑

Anchor 游乐场

使用单选按钮调整 anchorOrigintransformOrigin 位置。您还可以将 anchorReference 设置为 anchorPositionanchorEl。当设置为 anchorPosition 时,组件将引用 anchorPosition 属性而不是 anchorEl,您可以调整此属性来设置 popover 的位置。

anchorReference(定位参考)
 
anchorOrigin.vertical(定位原点.垂直方向)
transformOrigin.vertical(变换原点.垂直方向)
anchorOrigin.horizontal(定位原点.水平方向)
transformOrigin.horizontal(变换原点.水平方向)
<Popover 
  anchorOrigin={{
    vertical: 'top',
    horizontal: 'left',
  }}
  transformOrigin={{
    vertical: 'top',
    horizontal: 'left',
  }}
>
  The content of the Popover.
</Popover>

鼠标悬停互动

此演示展示了如何使用 Popover 组件和 mouseentermouseleave 事件来实现 popover 行为。

鼠标悬停显示 Popover。

虚拟元素

anchorEl 属性的值可以是对虚拟 DOM 元素的引用。您需要提供具有以下接口的对象

interface PopoverVirtualElement {
  nodeType: 1;
  getBoundingClientRect: () => DOMRect;
}

高亮文本的一部分以查看 popover

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ipsum purus, bibendum sit amet vulputate eget, porta semper ligula. Donec bibendum vulputate erat, ac fringilla mi finibus nec. Donec ac dolor sed dolor porttitor blandit vel vel purus. Fusce vel malesuada ligula. Nam quis vehicula ante, eu finibus est. Proin ullamcorper fermentum orci, quis finibus massa. Nunc lobortis, massa ut rutrum ultrices, metus metus finibus ex, sit amet facilisis neque enim sed neque. Quisque accumsan metus vel maximus consequat. Suspendisse lacinia tellus a libero volutpat maximus.

有关虚拟元素属性的更多信息,请参阅以下资源

补充项目

对于更高级的用例,您或许可以利用

material-ui-popup-state

stars npm downloads

material-ui-popup-state 包可以在大多数情况下为您处理 popover 状态。

API

请参阅以下文档,获取此处提及组件的所有可用属性和类的完整参考。