当前位置:首页 > React

react tooltip 实现

2026-01-26 16:07:47React

React Tooltip 实现方法

使用第三方库 react-tooltip

安装 react-tooltip 库:

npm install react-tooltip

引入并使用:

import React from 'react';
import { Tooltip } from 'react-tooltip';

const App = () => {
  return (
    <div>
      <button data-tooltip-id="my-tooltip" data-tooltip-content="Hello world!">
        Hover me
      </button>
      <Tooltip id="my-tooltip" />
    </div>
  );
};

export default App;

使用 CSS 自定义样式

通过 placevariant 等属性调整位置和样式:

react tooltip 实现

<Tooltip 
  id="my-tooltip" 
  place="top" 
  variant="dark" 
  style={{ fontSize: '14px' }}
/>

动态内容

通过 data-tooltip-content 动态更新内容:

<button 
  data-tooltip-id="dynamic-tooltip" 
  data-tooltip-content={isActive ? "Active" : "Inactive"}
>
  Toggle
</button>
<Tooltip id="dynamic-tooltip" />

自定义组件作为 Tooltip

将 React 组件作为 Tooltip 内容:

react tooltip 实现

const CustomContent = () => <div>Custom <b>HTML</b></div>;

<button data-tooltip-id="custom-tooltip">
  Hover for custom content
</button>
<Tooltip id="custom-tooltip">
  <CustomContent />
</Tooltip>

手动控制显示/隐藏

通过 TooltipisOpensetIsOpen

import { useState } from 'react';

const App = () => {
  const [isOpen, setIsOpen] = useState(false);
  return (
    <div>
      <button onClick={() => setIsOpen(!isOpen)}>
        Toggle Tooltip
      </button>
      <Tooltip 
        id="manual-tooltip" 
        isOpen={isOpen} 
        content="Manual control"
      />
    </div>
  );
};

延迟显示/隐藏

通过 delayShowdelayHide 控制延迟时间(毫秒):

<Tooltip 
  id="delayed-tooltip" 
  delayShow={500} 
  delayHide={200}
/>

无障碍支持

添加 aria-labelledbyaria-describedby 属性:

<button 
  data-tooltip-id="a11y-tooltip" 
  aria-labelledby="a11y-tooltip"
>
  Accessible Button
</button>
<Tooltip id="a11y-tooltip" content="Accessible tooltip" />

注意事项

  • 确保为每个 Tooltip 分配唯一的 id
  • 动态内容需通过 data-tooltip-content 或子组件更新。
  • 复杂样式建议通过 style 或 CSS 类名覆盖。

标签: reacttooltip
分享给朋友:

相关文章

react如何使用

react如何使用

React 的基本使用 React 是一个用于构建用户界面的 JavaScript 库,以下是一些核心概念和使用方法。 安装 React 通过 create-react-app 快速搭建 Reac…

react如何销毁

react如何销毁

React 组件销毁的机制 在 React 中,组件的销毁通常由 React 的生命周期管理。当组件从 DOM 中移除时,React 会自动触发销毁相关的生命周期方法。以下是关键点: 组件的销毁通常…

如何改造react

如何改造react

改造 React 项目的关键方法 分析当前项目结构 通过评估现有组件、状态管理和依赖项,明确需要改进的部分。使用工具如 webpack-bundle-analyzer 识别性能瓶颈。 升级 Reac…

react 如何分页

react 如何分页

分页实现方法 在React中实现分页功能可以通过多种方式完成,具体取决于数据来源(如API或本地数据)和UI库的选择。以下是常见的实现方法: 使用本地数据分页 对于存储在组件状态或Contex…

react如何衰减

react如何衰减

React 中的动画衰减效果实现 在 React 中实现衰减效果(如滚动衰减、拖动释放后的惯性滑动)通常需要结合物理动画原理或第三方动画库。以下是几种常见方法: 使用 CSS 动画和 @keyf…

react如何查

react如何查

React 查询方法 React 提供了多种查询 DOM 元素的方式,以下是几种常见的方法: 使用 ref 通过 useRef 钩子可以获取 DOM 节点的引用,适用于直接操作 DOM 的场景。…