ConfirmDialog 确认弹窗
Modal 派生件,针对"二次确认"语义;支持 default / danger 两种语气。
基础用法
自带图标 + 标题 + 描述 + 取消/确认按钮。tone="danger" 用红色配色,强调不可逆操作。
默认 closeOnOverlay=false(破坏性操作必须明确点击按钮)。
<CfConfirmDialog
v-model:open="open"
tone="danger"
title="永久删除?"
description="此操作不可逆。"
confirm-text="永久删除"
@confirm="onConfirm"
/> <CfConfirmDialog
open={open}
onOpenChange={setOpen}
tone="danger"
title="永久删除?"
description="此操作不可逆。"
confirmText="永久删除"
onConfirm={onConfirm}
/> Loading 异步确认
把 confirm 钩到一个 1.5s 的异步操作,期间 confirm button 显示 spinner,cancel 被禁用。
<CfConfirmDialog ... :loading="loading" @confirm="onConfirm" /> <CfConfirmDialog ... loading={loading} onConfirm={onConfirm} /> API
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
open / v-model:open | boolean | false | 显示控制 |
title | string | — | 主标题 |
description | string | — | 描述 |
tone | 'default' | 'danger' | 'default' | 危险态用红色 |
confirmText / cancelText | string | '确认' / '取消' | |
loading | boolean | false | 确认按钮 spinner |
closeOnOverlay / closeOnEsc | boolean | false / true |
事件:confirm、cancel、update:open。
反馈与讨论
ConfirmDialog 确认弹窗 的讨论