在 material-ui 的 Popper 组件中使用箭头的示例

Example of using arrow in Popper component of material-ui

material-ui的Popper组件页面有playground示例。 要添加箭头,他们使用 arrowRef。 请解释一下他们从哪里得到的?

对于任何其他需要它的人,OP 正在询问 Material-UI Poppers

德米特里,

React Refs 视为始终引用 DOM 外部元素(如果呈现)的变量。如果可能的话,React 最佳实践通常是远离 DOM。当然也有例外,但这是经验法则。

在这个特定的实例中,他们似乎在别处创建了一个元素并使用 ref 引用它,以便 Popper 可以使用它。我找到了一个这样的例子 here。通读起来有点困难,但重点是他创建了一个 span 并按照他想要的方式应用它。

您可以在此处找到 Material UI Popper“Scroll Playgroud”示例的源代码: https://github.com/mui-org/material-ui/blob/4f2a07e140c954b478a6670c009c23a59ec3e2d4/docs/src/pages/components/popper/ScrollPlayground.js

如您所见,您需要将一些额外的样式添加到您的应用中才能正确显示箭头,因为它不包含在 Material UI 库本身中。

对于正在寻找像 Tooltip 这样易于使用但具有像 PopperPopover 这样更具交互性的具体、可重用组件的其他人,您可以提升和移动 RichTooltip 来自我创建的以下沙箱的组件 - 它也是打字稿。希望这对下一个人有所帮助,并为您隐藏箭头的复杂性。

https://codesandbox.io/s/popper-with-arrow-58jhe