Skip to content

Popconfirm 气泡确认框

点击元素弹出气泡内容,进行二次确认。常用于危险提示、重要开关等场景。

基础用法

通过 title 配置简单的提示信息。

基础用法

弹出位置

支持 12 个方向的弹出定位,通过 placement 属性控制。

弹出位置

个性化配置

自由定制按钮文字、类型或隐藏特定元素。

个性化配置

高级特性

YH-UI 独有的“按钮位置反置”和“不再提示”状态反馈。

高级特性

异步关闭

结合 before-confirm 属性轻松实现接口拦截逻辑。

异步拦截

自定义插槽

支持通过 titledescription 插槽自定义复杂的富文本内容。

复杂内容插槽

隐藏小三角

可以通过 show-arrow 属性控制气泡框是否显示指示三角。

小三角展示

主题外观

通过修改 CSS 变量,可以轻松实现组件的样式定制。例如,通过 popper-style 覆盖局部的主题变量。

主题定制

在 Nuxt 中使用

YhPopconfirm 完美支持 Nuxt 3。得益于基于 Tooltip 的极速定位引擎,在 SSR 环境下依然具有极佳的表现。

Nuxt 开发演示

只需在 nuxt.config.ts 加入模块配置:

ts
export default defineNuxtConfig({ modules: ['@yh-ui/nuxt'] })

API

Props

属性说明类型默认值
title标题文案string''
description描述文案string''
confirm-button-text确认按钮文字string''
cancel-button-text取消按钮文字string''
confirm-button-type确认按钮类型'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info''primary'
cancel-button-type取消按钮类型'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info''default'
icon图标名称string'warning'
icon-color图标颜色string'#faad14'
hide-icon是否隐藏图标booleanfalse
hide-cancel是否隐藏取消按钮booleanfalse
offset浮层偏移量 [skidding, distance][number, number][0, 12]
placement浮层位置TooltipPlacement'top'
visible受控显隐状态boolean | nullnull
width弹层宽度string | number180
disabled是否禁用触发器booleanfalse
z-index浮层层级number2000
show-arrow是否显示箭头booleantrue
popper-class自定义浮层类名string''
popper-style自定义浮层样式StyleValue{}
teleported是否挂载到 bodybooleantrue
show-dont-ask-again是否显示“不再提示”勾选框booleanfalse
dont-ask-again-text“不再提示”文案string''
swap-buttons是否交换确认与取消按钮位置booleanfalse
before-confirm确认前钩子,返回 falsePromise<false> 时阻止关闭() => boolean | Promise<boolean>null
theme-overrides组件级主题变量覆盖ComponentThemeVarsundefined

Slots

插槽名说明
default触发元素
icon自定义图标内容
title自定义标题内容
description自定义描述内容

Events

事件名称说明回调参数
confirm点击确认按钮时触发(dontAskAgain?: boolean) => void
cancel点击取消按钮时触发() => void
update:visible显隐状态变化时触发(visible: boolean) => void

Expose

名称说明类型
visible当前浮层可见状态Ref<boolean>
toggle手动切换显隐状态(val: boolean) => boolean

主题变量 (CSS Variables)

YhPopconfirm 支持 themeOverrides,同时会消费底层浮层的共享主题变量。

变量名默认值描述
--yh-popconfirm-title#1d1d1f标题文字颜色
--yh-popconfirm-desc#424245描述文字颜色
--yh-tooltip-bg-colorrgba(255, 255, 255, 0.88)气泡背景色
--yh-tooltip-border-colorrgba(0, 0, 0, 0.08)气泡边框颜色

类型导出

名称说明
YhPopconfirmProps组件 Props 类型
YhPopconfirmEmits组件事件类型
YhPopconfirmSlots组件插槽类型
YhPopconfirmExpose组件 expose 类型
YhPopconfirmInstance组件实例类型

Released under the MIT License.