logoAnt Design

⌘ K
  • 设计
  • 研发
  • 组件
  • 博客
  • 资源
  • 国内镜像
5.25.0
  • 组件总览
  • 通用
    • Button按钮
    • FloatButton悬浮按钮
      5.0.0
    • Icon图标
    • Typography排版
  • 布局
    • Divider分割线
    • Flex弹性布局
      5.10.0
    • Grid栅格
    • Layout布局
    • Space间距
    • Splitter分隔面板
      5.21.0
  • 导航
    • Anchor锚点
    • Breadcrumb面包屑
    • Dropdown下拉菜单
    • Menu导航菜单
    • Pagination分页
    • Steps步骤条
    • Tabs标签页
  • 数据录入
    • AutoComplete自动完成
    • Cascader级联选择
    • Checkbox多选框
    • ColorPicker颜色选择器
      5.5.0
    • DatePicker日期选择框
    • Form表单
    • Input输入框
    • InputNumber数字输入框
    • Mentions提及
    • Radio单选框
    • Rate评分
    • Select选择器
    • Slider滑动输入条
    • Switch开关
    • TimePicker时间选择框
    • Transfer穿梭框
    • TreeSelect树选择
    • Upload上传
  • 数据展示
    • Avatar头像
    • Badge徽标数
    • Calendar日历
    • Card卡片
    • Carousel走马灯
    • Collapse折叠面板
    • Descriptions描述列表
    • Empty空状态
    • Image图片
    • List列表
    • Popover气泡卡片
    • QRCode二维码
      5.1.0
    • Segmented分段控制器
    • Statistic统计数值
    • Table表格
    • Tag标签
    • Timeline时间轴
    • Tooltip文字提示
    • Tour漫游式引导
      5.0.0
    • Tree树形控件
  • 反馈
    • Alert警告提示
    • Drawer抽屉
    • Message全局提示
    • Modal对话框
    • Notification通知提醒框
    • Popconfirm气泡确认框
    • Progress进度条
    • Result结果
    • Skeleton骨架屏
    • Spin加载中
    • Watermark水印
      5.1.0
  • 其他
    • Affix固钉
    • App包裹组件
      5.1.0
    • ConfigProvider全局化配置
    • Util工具类
      5.13.0

Popconfirm
气泡确认框

点击元素,弹出气泡式的确认框。
使用import { Popconfirm } from "antd";
源码components/popconfirm
文档
编辑此页更新日志

相关资源

Ant Design X
Ant Design Charts
Ant Design Pro
Pro Components
Ant Design Mobile
Ant Design Mini
Ant Design Web3
Ant Design Landing-首页模板集
Scaffolds-脚手架市场
Umi-React 应用开发框架
dumi-组件/文档研发工具
qiankun-微前端框架
Ant Motion-设计动效
国内镜像站点 🇨🇳

社区

Awesome Ant Design
Medium
Twitter
yuque logoAnt Design 语雀专栏
Ant Design 知乎专栏
体验科技专栏
seeconf logoSEE Conf-蚂蚁体验科技大会
加入我们

帮助

GitHub
更新日志
常见问题
报告 Bug
议题
讨论区
StackOverflow
SegmentFault

Ant XTech logo更多产品

yuque logo语雀-构建你的数字花园
AntV logoAntV-数据可视化解决方案
Egg logoEgg-企业级 Node.js 框架
Kitchen logoKitchen-Sketch 工具集
Galacean logoGalacean-互动图形解决方案
xtech logo蚂蚁体验科技
主题编辑器
Made with ❤ by
蚂蚁集团和 Ant Design 开源社区
loading

何时使用

目标元素的操作需要用户进一步的确认时,在目标元素附近弹出浮层提示,询问用户。

和 confirm 弹出的全屏居中模态对话框相比,交互形式更轻量。

代码演示

基本

最简单的用法,支持确认标题和描述。

description 在 5.1.0 版本中支持。

CodeSandbox Icon
codepen icon
External Link Icon
expand codeexpand code
位置

位置有十二个方向。如需箭头指向目标元素中心,可以设置 arrow: { pointAtCenter: true }。

CodeSandbox Icon
codepen icon
External Link Icon
expand codeexpand code


Whether directly execute:
条件触发

可以判断是否需要弹出。

CodeSandbox Icon
codepen icon
External Link Icon
expand codeexpand code
异步关闭

点击确定后异步关闭气泡确认框,例如提交表单。

CodeSandbox Icon
codepen icon
External Link Icon
expand codeexpand code
国际化

使用 okText 和 cancelText 自定义按钮文字。

CodeSandbox Icon
codepen icon
External Link Icon
expand codeexpand code
贴边偏移

当 Popconfirm 贴边时,自动偏移并且调整箭头位置。当超出过多时,则一同滚出屏幕。

CodeSandbox Icon
codepen icon
External Link Icon
expand codeexpand code
自定义 Icon 图标

自定义提示 icon。

CodeSandbox Icon
codepen icon
External Link Icon
expand codeexpand code
基于 Promise 的异步关闭

点击确定后异步关闭 Popconfirm,例如提交表单。

CodeSandbox Icon
codepen icon
External Link Icon
expand codeexpand code

API

通用属性参考:通用属性

参数说明类型默认值版本
cancelButtonPropscancel 按钮 propsButtonProps-
cancelText取消按钮文字string取消
disabled阻止点击 Popconfirm 子元素时弹出确认框booleanfalse
icon自定义弹出气泡 Icon 图标ReactNode<ExclamationCircle />
okButtonPropsok 按钮 propsButtonProps-
okText确认按钮文字string确定
okType确认按钮类型stringprimary
showCancel是否显示取消按钮booleantrue4.18.0
title确认框标题ReactNode | () => ReactNode-
description确认内容的详细描述ReactNode | () => ReactNode-5.1.0
onCancel点击取消的回调function(e)-
onConfirm点击确认的回调function(e)-
onPopupClick弹出气泡点击事件function(e)-5.5.0
以下 API 为 Tooltip、Popconfirm、Popover 共享的 API。
参数说明类型默认值版本
align该值将合并到 placement 的配置中,设置参考 dom-alignobject-
arrow修改箭头的显示状态以及修改箭头是否指向目标元素中心boolean | { pointAtCenter: boolean }true5.2.0
autoAdjustOverflow气泡被遮挡时自动调整位置booleantrue
color背景颜色string-4.3.0
defaultOpen默认是否显隐booleanfalse4.23.0
destroyTooltipOnHide关闭后是否销毁 dombooleanfalse
destroyOnHidden关闭后是否销毁 dombooleanfalse5.25.0
fresh默认情况下,Tooltip 在关闭时会缓存内容。设置该属性后会始终保持更新booleanfalse5.10.0
getPopupContainer浮层渲染父节点,默认渲染到 body 上(triggerNode: HTMLElement) => HTMLElement() => document.body
mouseEnterDelay鼠标移入后延时多少才显示 Tooltip,单位:秒number0.1
mouseLeaveDelay鼠标移出后延时多少才隐藏 Tooltip,单位:秒number0.1
overlayClassName卡片类名, 请使用 classNames={{ root: "" }} 替换string-
overlayStyle卡片样式, 请使用 styles={{ root: {} }} 替换React.CSSProperties-
overlayInnerStyle卡片内容区域的样式对象, 请使用 styles={{ body: {} }} 替换React.CSSProperties-
placement气泡框位置,可选 top left right bottom topLeft topRight bottomLeft bottomRight leftTop leftBottom rightTop rightBottomstringtop
trigger触发行为,可选 hover | focus | click | contextMenu,可使用数组设置多个触发行为string | string[]hover
open用于手动控制浮层显隐,小于 4.23.0 使用 visible(为什么?)booleanfalse4.23.0
zIndex设置 Tooltip 的 z-indexnumber-
onOpenChange显示隐藏的回调(open: boolean) => void-4.23.0

Semantic DOM

  • root
    5.23.0
    根元素 (包含箭头、内容元素)
  • body
    5.23.0
    内容元素

主题变量(Design Token)

组件 Token如何定制?
Token 名称描述类型默认值
zIndexPopup确认框 z-indexnumber1060
全局 Token如何定制?

FAQ

以下常见问题均适用于 Tooltip、Popconfirm、Popover 组件

为何在严格模式中有时候会出现 findDOMNode is deprecated 这个警告?

这是由于 rc-trigger 的实现方式导致的,rc-trigger 强制要求 children 能够接受 ref,否则就会 fallback 到 findDOMNode,所以 children 需要是原生 html 标签,如果不是,则需要使用 React.forwardRef 把 ref 透传到原生 html 标签。

  • findDOMNode is deprecated 重现:https://codesandbox.io/p/sandbox/finddomnode-c5hy96
  • 使用 forwardRef 消除警告:https://codesandbox.io/p/sandbox/no-finddomnode-warning-forked-gdxczs

为什么自定义子组件无法正常工作?

类似问题: #15909, #12812。

请确保子元素能接受 onMouseEnter、onMouseLeave、onPointerEnter、onPointerLeave、onFocus、onClick 事件。参考示例

placement 的行为逻辑是什么?

当屏幕空间足够时,会按照 placement 的设置进行弹层。当空间不足时则会取反向位置进行弹层(例如 top 不够时,会改为 bottom,topLeft 不够时会改为 bottomLeft)。单一方向如 top bottom left right 当贴边时进行自动位移:

shift

当设置为边缘对齐方向如 topLeft bottomRight 等,则会仅做翻转而不做位移。

更多问题,请参考 Tooltip FAQ。