2016-08-02 16:06:46 +08:00
---
category: Components
2022-11-09 12:28:04 +08:00
group: Data Display
2016-08-02 16:06:46 +08:00
title: Tooltip
2024-03-22 14:22:42 +08:00
description: Simple text popup box.
2024-01-29 14:50:36 +08:00
cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*9LKlRbWytugAAAAAAAAAAAAADrJ8AQ/original
coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*bCbPTJ7LQngAAAAAAAAAAAAADrJ8AQ/original
2022-11-09 12:28:04 +08:00
demo:
cols: 2
2016-08-02 16:06:46 +08:00
---
## When To Use
2017-09-18 10:28:22 +08:00
- The tip is shown on mouse enter, and is hidden on mouse leave. The Tooltip doesn't support complex text or operations.
- To provide an explanation of a `button/text/operation` . It's often used instead of the html `title` attribute.
2016-08-02 16:06:46 +08:00
2022-11-09 12:28:04 +08:00
## Examples
2022-11-17 17:31:26 +08:00
<!-- prettier - ignore -->
2022-11-09 12:28:04 +08:00
< code src = "./demo/basic.tsx" > Basic< / code >
< code src = "./demo/placement.tsx" > Placement< / code >
2023-01-19 11:21:05 +08:00
< code src = "./demo/arrow.tsx" > Arrow< / code >
2024-07-11 10:03:12 +08:00
< code src = "./demo/shift.tsx" iframe = "300" > Auto Shift< / code >
2022-11-09 12:28:04 +08:00
< code src = "./demo/auto-adjust-overflow.tsx" debug > Adjust placement automatically< / code >
< code src = "./demo/destroy-tooltip-on-hide.tsx" debug > Destroy tooltip when hidden< / code >
< code src = "./demo/colorful.tsx" > Colorful Tooltip< / code >
< code src = "./demo/render-panel.tsx" debug > _InternalPanelDoNotUseOrYouWillBeFired< / code >
2023-03-05 17:51:19 +08:00
< code src = "./demo/debug.tsx" debug > Debug< / code >
2023-11-09 17:15:21 +08:00
< code src = "./demo/disabled.tsx" > Disabled< / code >
< code src = "./demo/disabled-children.tsx" debug > Disabled children< / code >
2022-11-09 12:28:04 +08:00
2016-08-02 16:06:46 +08:00
## API
2023-08-08 18:27:48 +08:00
Common props ref: [Common props](/docs/react/common-props)
2021-06-25 11:04:00 +08:00
| Property | Description | Type | Default |
| -------- | ----------------------------- | ---------------------------- | ------- |
| title | The text shown in the tooltip | ReactNode \| () => ReactNode | - |
2016-12-22 12:00:57 +08:00
### Common API
2024-12-02 23:03:44 +08:00
< embed src = "./shared/sharedProps.en-US.md" > < / embed >
2017-01-22 14:26:46 +08:00
2023-04-11 10:25:24 +08:00
## Design Token
< ComponentTokenTable component = "Tooltip" > < / ComponentTokenTable >
2023-07-25 11:38:38 +08:00
## FAQ
2024-10-03 15:04:19 +08:00
### Why does the warning `findDOMNode is deprecated` sometimes appear in strict mode?
2024-02-19 13:42:05 +08:00
2024-02-19 14:43:43 +08:00
This is due to the implementation of `rc-trigger` . `rc-trigger` forces children to accept ref, otherwise it will fall back to findDOMNode, so children need to be native html tags. If not, you need to use `React.forwardRef` transparently passes `ref` to native html tags.
2024-02-19 13:42:05 +08:00
2024-10-03 15:04:19 +08:00
- `findDOMNode is deprecated` reproduce: < https: // codesandbox . io / p / sandbox / finddomnode-c5hy96 >
- Using `forwardRef` to fix: < https: // codesandbox . io / p / sandbox / no-finddomnode-warning-forked-gdxczs >
2023-07-25 11:38:38 +08:00
### Why sometime not work on HOC?
2017-01-22 14:26:46 +08:00
2023-07-28 17:39:38 +08:00
Please ensure that the child node of `Tooltip` accepts `onMouseEnter` , `onMouseLeave` , `onPointerEnter` , `onPointerLeave` , `onFocus` , `onClick` events.
2023-07-25 11:38:38 +08:00
### What's the placement logic?
It will follow `placement` config when screen has enough space. And flip when space is not enough (Such as `top` to `bottom` or `topLeft` to `bottomLeft` ). Single direction such as `top` `bottom` `left` `right` will auto shift on the view:
< img alt = "shift" height = "200" src = "https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*sxaTTJjLtIMAAAAAAAAAAAAADrJ8AQ/original" / >
When `placement` is set to edge align such as `topLeft` `bottomRight` , it will only do flip but not do shift.
2023-09-22 15:45:22 +08:00
### Why Tooltip not update content when close?
Tooltip will cache content when it is closed to avoid flicker when content is updated:
```jsx
// `title` will not blink when `user` is empty
< Tooltip open = {user} title = {user?.name} / >
```
< div >
< img alt = "no blink" height = "50" src = "https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*KVx7QLOYwVsAAAAAAAAAAAAADrJ8AQ/original" / >
< / div >
If need update content when close, you can set `fresh` property ([#44830](https://github.com/ant-design/ant-design/issues/44830)):
```jsx
< Tooltip open = {user} title = {user?.name} fresh / >
```
< div >
< img alt = "no blink" height = "50" src = "https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*rUbsR4xWpMsAAAAAAAAAAAAADrJ8AQ/original" / >
< / div >