Tooltip文字提示

简单的文字提示气泡框。

何时使用

鼠标移入则显示提示,移出消失,气泡浮层不承载复杂文本和操作。

可用来代替系统默认的 title 提示,提供一个按钮/文字/操作的文案解释。

代码演示

Tooltip文字提示 - 图1

基本

最简单的用法。

  1. import { Tooltip } from 'antd';
  2. ReactDOM.render(
  3. <Tooltip title="prompt text">
  4. <span>Tooltip will show on mouse enter.</span>
  5. </Tooltip>,
  6. mountNode,
  7. );

Tooltip文字提示 - 图2

箭头指向

设置了 arrowPointAtCenter 后,箭头将指向目标元素的中心。

  1. import { Tooltip, Button } from 'antd';
  2. ReactDOM.render(
  3. <div>
  4. <Tooltip placement="topLeft" title="Prompt Text">
  5. <Button>Align edge / 边缘对齐</Button>
  6. </Tooltip>
  7. <Tooltip placement="topLeft" title="Prompt Text" arrowPointAtCenter>
  8. <Button>Arrow points to center / 箭头指向中心</Button>
  9. </Tooltip>
  10. </div>,
  11. mountNode,
  12. );

Tooltip文字提示 - 图3

位置

位置有 12 个方向。

  1. import { Tooltip, Button } from 'antd';
  2. const text = <span>prompt text</span>;
  3. const buttonWidth = 70;
  4. ReactDOM.render(
  5. <div className="demo">
  6. <div style={{ marginLeft: buttonWidth, whiteSpace: 'nowrap' }}>
  7. <Tooltip placement="topLeft" title={text}>
  8. <Button>TL</Button>
  9. </Tooltip>
  10. <Tooltip placement="top" title={text}>
  11. <Button>Top</Button>
  12. </Tooltip>
  13. <Tooltip placement="topRight" title={text}>
  14. <Button>TR</Button>
  15. </Tooltip>
  16. </div>
  17. <div style={{ width: buttonWidth, float: 'left' }}>
  18. <Tooltip placement="leftTop" title={text}>
  19. <Button>LT</Button>
  20. </Tooltip>
  21. <Tooltip placement="left" title={text}>
  22. <Button>Left</Button>
  23. </Tooltip>
  24. <Tooltip placement="leftBottom" title={text}>
  25. <Button>LB</Button>
  26. </Tooltip>
  27. </div>
  28. <div style={{ width: buttonWidth, marginLeft: buttonWidth * 4 + 24 }}>
  29. <Tooltip placement="rightTop" title={text}>
  30. <Button>RT</Button>
  31. </Tooltip>
  32. <Tooltip placement="right" title={text}>
  33. <Button>Right</Button>
  34. </Tooltip>
  35. <Tooltip placement="rightBottom" title={text}>
  36. <Button>RB</Button>
  37. </Tooltip>
  38. </div>
  39. <div style={{ marginLeft: buttonWidth, clear: 'both', whiteSpace: 'nowrap' }}>
  40. <Tooltip placement="bottomLeft" title={text}>
  41. <Button>BL</Button>
  42. </Tooltip>
  43. <Tooltip placement="bottom" title={text}>
  44. <Button>Bottom</Button>
  45. </Tooltip>
  46. <Tooltip placement="bottomRight" title={text}>
  47. <Button>BR</Button>
  48. </Tooltip>
  49. </div>
  50. </div>,
  51. mountNode,
  52. );

Tooltip文字提示 - 图4

多彩文字提示

我们添加了多种预设色彩的文字提示样式,用作不同场景使用。

  1. import { Tooltip, Button, Divider } from 'antd';
  2. const colors = [
  3. 'pink',
  4. 'red',
  5. 'yellow',
  6. 'orange',
  7. 'cyan',
  8. 'green',
  9. 'blue',
  10. 'purple',
  11. 'geekblue',
  12. 'magenta',
  13. 'volcano',
  14. 'gold',
  15. 'lime',
  16. ];
  17. const customColors = ['#f50', '#2db7f5', '#87d068', '#108ee9'];
  18. ReactDOM.render(
  19. <>
  20. <Divider orientation="left">Presets</Divider>
  21. <div>
  22. {colors.map(color => (
  23. <Tooltip title="prompt text" color={color} key={color}>
  24. <Button>{color}</Button>
  25. </Tooltip>
  26. ))}
  27. </div>
  28. <Divider orientation="left">Custom</Divider>
  29. <div>
  30. {customColors.map(color => (
  31. <Tooltip title="prompt text" color={color} key={color}>
  32. <Button>{color}</Button>
  33. </Tooltip>
  34. ))}
  35. </div>
  36. </>,
  37. mountNode,
  38. );
  1. .ant-tag {
  2. margin-bottom: 8px;
  3. }

API

参数说明类型默认值
title提示文字string|ReactNode|() => ReactNode

共同的 API

以下 API 为 Tooltip、Popconfirm、Popover 共享的 API。

参数说明类型默认值版本
arrowPointAtCenter箭头是否指向目标元素中心booleanfalse
autoAdjustOverflow气泡被遮挡时自动调整位置booleantrue
defaultVisible默认是否显隐booleanfalse
color背景颜色string-4.3.0
getPopupContainer浮层渲染父节点,默认渲染到 body 上Function(triggerNode)() => document.body
mouseEnterDelay鼠标移入后延时多少才显示 Tooltip,单位:秒number0.1
mouseLeaveDelay鼠标移出后延时多少才隐藏 Tooltip,单位:秒number0.1
overlayClassName卡片类名string
overlayStyle卡片样式object
placement气泡框位置,可选 top left right bottom topLeft topRight bottomLeft bottomRight leftTop leftBottom rightTop rightBottomstringtop
trigger触发行为,可选 hover/focus/click/contextMenu,可使用数组设置多个触发行为string | string[]hover
visible用于手动控制浮层显隐booleanfalse
onVisibleChange显示隐藏的回调(visible) => void
align该值将合并到 placement 的配置中,设置参考 rc-tooltipObject
destroyTooltipOnHide关闭后是否销毁 Tooltip,当 keepParentfalse 时销毁父容器boolean | { keepParent?: boolean }false

注意

请确保 Tooltip 的子元素能接受 onMouseEnteronMouseLeaveonFocusonClick 事件。