当元素获得键盘焦点或鼠标悬停在其上时,显示与该元素相关的信息的弹出窗口。
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
属性。
使用 asChild
属性 将触发器部分转换为可插入的区域。它将用传递给它的子元素替换触发器。