当元素接收键盘焦点或鼠标悬停在其上时,会显示与元素相关信息的弹出窗口。
import * as React from "react";import { Tooltip } from "radix-ui";import { PlusIcon } from "@radix-ui/react-icons";import "./styles.css";const TooltipDemo = () => {return (<Tooltip.Provider><Tooltip.Root><Tooltip.Trigger asChild><button className="IconButton"><PlusIcon /></button></Tooltip.Trigger><Tooltip.Portal><Tooltip.Content className="TooltipContent" sideOffset={5}>Add to library<Tooltip.Arrow className="TooltipArrow" /></Tooltip.Content></Tooltip.Portal></Tooltip.Root></Tooltip.Provider>);};export default TooltipDemo;
提供程序以全局控制显示延迟。
当触发器被聚焦或悬停时打开。
当触发器被激活或按下 escape 键时关闭。
支持自定义定时。
从命令行安装组件。
导入所有部件并将它们组装在一起。
包装您的应用程序,为您的工具提示提供全局功能。
包含工具提示的所有部件。
切换工具提示的按钮。默认情况下,Tooltip.Content
将相对于触发器定位自身。
使用时,将内容部分传送到 body
中。
工具提示打开时弹出的组件。
一个可选的箭头元素,与工具提示一起渲染。这可以用于帮助在视觉上将触发器与 Tooltip.Content
链接起来。必须在 Tooltip.Content
内部渲染。
使用 Provider
全局控制 delayDuration
和 skipDelayDuration
。
使用 delayDuration
属性控制工具提示打开所需的时间。
您可能希望约束内容的宽度,使其与触发器宽度匹配。您可能还希望约束其高度,使其不超过视口。
我们公开了几个 CSS 自定义属性,例如 --radix-tooltip-trigger-width
和 --radix-tooltip-content-available-height
以支持这一点。使用它们来约束内容尺寸。
我们公开了一个 CSS 自定义属性 --radix-tooltip-content-transform-origin
。使用它根据 side
、sideOffset
、align
、alignOffset
和任何碰撞,从其计算的原点动画化内容。
我们公开了 data-side
和 data-align
属性。它们的值将在运行时更改以反映碰撞。使用它们来创建感知碰撞和方向的动画。
通过将原始部件抽象到您自己的组件中来创建您自己的 API。
此示例抽象了所有 Tooltip
部件,并引入了一个新的 content
prop。
使用 asChild
prop 将触发器部件转换为可插槽区域。它将用传递给它的子项替换触发器。