---
id: "confirm"
title: "确认框与危险动作"
category: "浮层组件"
document_type: "component-specification"
spec_status: "local-current-draft"
element_ui: "2.15.6"
vue: "2.6.14"
page: "../index.html#spec-confirm"
source_data: "../component-data.json"
official_components: ["message-box"]
template_components: ["el-button"]
scenario_count: 10
verification: "scenario-checklist-not-full-test-pass"
---

# 确认框与危险动作

专题 `confirm` · 浮层组件 · Element UI 2.15.6

## 适用范围与组件映射

公共色板及字体基线适用于整个运营后台。本库整理基础组件、组件状态和可复用的组合模式；本轮补齐表单整体验证、页面布局和导航组合；具体业务字段与跨页流程仍在业务场景中说明。专题验收清单包含接入要求，不表示当前示例已实现或已验证全部场景。

官方条目映射：`message-box`。

本页模板直接使用的 Element UI 标签：`el-button`。

## 通用基线

- 组件库：Element UI **2.15.6**；运行样例 Vue **2.6.14**。
- 系统中文字体：macOS 优先苹方，Windows 通常微软雅黑；工程顺序固定为 `"PingFang SC", "Microsoft YaHei", sans-serif`。不要求安装或加载网络字体，兼容回退不是另一套可选样式。
- 后续仅采用经验证且固定版本的兼容 Element UI 2.x；Element Plus 属于独立迁移路线。
- 正文、数据值、输入及已选值：`14px / 400 / 21px`，`#303133`。
- 表头及组件分组标题：`14px / 600 / 21px`；弹窗标题：`16px / 600 / 24px`，均使用 `#303133`。
- 辅助说明：`12px / 400 / 18px`，`#595959`；错误、链接、状态、禁用与占位按各自语义处理。
- 适用组件的默认尺寸为 `small / 32px`；不得将这一高度机械应用于表格、文本域、浮层等全部组件。
- 规范正文与场景说明使用 `14px / 400 / 24px`、`#303133`，不降成灰蓝小字。
- 筛选文本输入占位统一“请输入”；未选择下拉统一“请选择”；默认全部的下拉显示“全部”。字段标签保留业务含义；日期保留开始/结束语义。
- 次级文字操作（查看更多、编辑、详情、数据中心、更多）：`12px / 400 / 18px`，`#3377BB`；保留点击热区。
- 本规范库的深色目录、蓝色展示区属于文档排版，不是业务组件颜色或业务导航规范。

## 本页用法与分类

默认用法：本页默认演示删除或移除前的危险确认：明确对象与后果，取消为安全默认焦点，确认按钮使用危险描边样式。

| 区分什么 | 本页内容 | 选用或触发条件 |
| --- | --- | --- |
| 确认用途 | 仅知晓提醒、动作二次确认和带输入确认处理不同任务。 | 本页采用危险动作二次确认；仅知晓提醒或带输入确认需有实际任务依据，不能因组件库提供就全部采用。 |
| 动作风险 | 普通确认与危险确认由实际动作后果决定。 | 删除/移除沿用危险按钮；风险提醒用警告橙，失败用错误红，不按喜欢的颜色挑确认类型。 |
| 示例能力 | 上方只演示打开与反馈，下方操作本地演示记录。 | 检查容器用上方入口；检查取消、确认及失败重试用下方记录示例，两处都不涉及真实业务数据。 |
| 自动执行状态 | 执行中、成功、失败与按钮可用性来自实际处理结果。 | 真实动作执行中防重复，失败保留上下文；本页未采用的输入确认和异步关闭校验属于接入项。 |

使用边界：不要把安全焦点、风险提醒、加载中或带输入确认混成可选配色；确认反馈也不代表真实记录已删除。

## 组件规则

- **CONFIRM-R01**：确认框正文明确动作、对象及后果；删除、移除的提交按钮统一写“确认”，安全退出按钮写“取消”。具体删除对象和风险写在正文，不改成只有“是 / 否”的模糊问句。
- **CONFIRM-R02**：默认焦点放在取消或安全项；正在执行时阻止重复。组件只提供容器，不规定任何业务审核流程。
- **CONFIRM-R03**：“查看危险确认框”入口只演示打开、取消和确认反馈，不移除列表记录；下方“行内红字删除”示例实际操作本地演示记录，可演练取消、确认与失败重试，两者均不涉及真实数据。
- **CONFIRM-R04**：【公共用色】颜色仅从公共色值 引用：主色系 3 个基础色值、辅助功能色 3 个、中性色 10 个，共 16 个基础色值。角色可以多个，实际色值复用；不为每个组件、悬停 或不同字段再新增近似颜色。透明效果仅限遮罩 35% 与阴影 12%，从 外壳深色 派生。
- **CONFIRM-R05**：【统一字体】统一系统中文字体：macOS 优先苹方（PingFang SC），Windows 通常使用微软雅黑（Microsoft YaHei）；工程顺序固定为 "PingFang SC", "Microsoft YaHei", sans-serif。使用设备已有字体，不要求安装或加载网络字体；最后一项仅作兼容回退，不是供页面作者任选的另一套样式。正文 14px/400/21px；表头与分组标题 14px/600/21px，弹窗标题 16px/600/24px；次级文字操作和辅助说明 12px/400/18px。正文与标题同用 #303133；不通过额外加粗或透明度改变正文轻重。
- **CONFIRM-R06**：【默认】弹层 白底、正文深灰，标题 正文深灰、600字重，边框 边框灰；遮罩 外壳深色 的 35% 透明度，阴影 外壳深色 的 12%。
- **CONFIRM-R07**：【操作 / 焦点】普通信息确认可使用主题蓝按钮；删除、移除等危险确认使用统一危险描边按钮（白底、错误红边框、正文深灰文字）；取消用普通按钮，默认焦点在取消，按钮保留操作蓝键盘轮廓。纯文字删除仍为红字无框，不因“确认”一词一律套主题蓝。
- **CONFIRM-R08**：【危险 / 加载】删除前的风险提醒使用警告橙图标和正文深灰说明；执行失败才使用错误红反馈。危险确认按钮使用错误红边框，提交中防重复，不给整个弹层染功能色。
- **CONFIRM-R09**：【关闭 / 禁用】关闭图标 辅助深灰、悬停 操作蓝、禁用 禁用灰；关闭后焦点回到触发点。
- **CONFIRM-R10**：【组件边界】仅使用实际存在的组件状态；没有操作能力的内容不添加悬停、选中或禁用变色。
- **CONFIRM-R11**：【叠加优先级】状态叠加规则：禁用阻断交互；输入类控件错误边框覆盖蓝色聚焦边框；输入框不叠加外圈或阴影，其他无边框操作保留键盘焦点提示；选中底覆盖悬停底；只读不等于禁用；加载不等于成功；业务启用/停用的文字结果不等于控件是否可点击。
- **CONFIRM-R12**：危险文字操作单独规定样式与交互：用于表单右侧删除、移除待上传附件、列表行删除等。默认红字 #F56C6C、12px/400，无底色、无边框、无水平内边距；点击区域至少24px高。悬停和按下保持同一红色并加下划线，键盘进入时显示红色焦点提示。禁用用 #C0C4CC 且不可执行；处理中显示原位进度并阻止重复点击。
- **CONFIRM-R13**：删除、移除统一先打开居中确认弹窗，明确对象、数量和后果；确认按钮统一写“确认”，取消不改变数据。未保存项、待上传附件、已保存记录和批量删除都沿用这一入口规则；失败保留原内容和重试入口。普通清空输入、取消筛选或关闭弹层不是删除，不自动标红。
- **CONFIRM-R14**：多行提示的状态图标对齐第一行文字，不按整段文字垂直居中。确认框正文行高24px，图标24px；普通消息和区域提示沿用21px正文行高，图标居中于第一行。文字自然换行，图标和正文保留稳定间距。
- **CONFIRM-R15**：【关闭事件】确认、用户取消和程序关闭分别处理：确认后关闭不能再触发取消或回滚；用户一次取消只处理一次。关闭生命周期回调不等于用户取消。提交期间能否关闭及草稿去留按实际组件约定执行。

## 场景与验收清单

以下为需核对的场景组；`[ ]` 不代表已经测试通过。

- [ ] **CONFIRM-S01**：用途区分：只需知晓的提醒、动作二次确认和带输入确认是不同功能。本页采用危险动作二次确认；其他功能只有明确需要并接入后验收。
- [ ] **CONFIRM-S02**：按实际动作选择普通或危险确认；风险提醒使用警告橙，执行失败使用错误红。默认焦点在取消，取消与关闭不执行动作，这些是交互规则，不是外观选项。
- [ ] **CONFIRM-S03**：接入验收：只有采用带输入确认或异步关闭校验时，才检查输入校验、确认处理中及失败恢复；本页不提供这些配置项。
- [ ] **CONFIRM-S04**：本页核对风险警告图标、正文、取消、危险确认及关闭入口的颜色与键盘焦点；下方本地删除再检查处理中和失败重试。不把输入错误或选中状态套到确认框容器。
- [ ] **CONFIRM-S05**：核对正文14/400、次级操作12/400、标题600及同色深正文；检查实际弹出层和内部文字节点，不能只检查父元素。
- [ ] **CONFIRM-S06**：核对红色文字删除：无框无底、12px/400、悬停、键盘、禁用、处理中；子文字不能被普通蓝链接样式覆盖。
- [ ] **CONFIRM-S07**：本页核对已保存演示记录的居中确认、取消保留、确认后处理中与失败重试；删除后的“重置示例”仅恢复演示数据。未保存字段和待上传附件的撤销到按钮专题检查，不推断真实已保存记录可撤销。
- [ ] **CONFIRM-S08**：当前两处危险确认的按钮都统一写“确认”，沿用危险描边样式；红字触发入口仍写删除或移除。取消为安全默认焦点，关闭图标有中文可访问名称。
- [ ] **CONFIRM-S09**：用一行、两行和更长说明检查状态图标：与第一行文字对齐，段落增高后图标不下沉；同时复核字号、行高和图标间距。
- [ ] **CONFIRM-S10**：接入验收：分别检查确认、取消、叉号、Esc、遮罩及父级程序关闭；一次动作只产生一次对应业务结果，确认后不误发取消，禁用的关闭入口不能执行。

### 专题验收重点

取消不执行；确认反馈明确；关闭后回到触发器。

## 当前示例模板

以下来自本专题的结构化示例，使用 Vue 2 模板语法。`v-model`、事件方法、数据列表等依赖 [components.js](../components.js)；完整样式文件及加载顺序见 [通用基线](FOUNDATIONS.md)。自定义组合标签的内部实现由下方依赖文件提供，不能仅复制标签作为完整组件。

```html
<el-button @click="confirmLocal">查看危险确认框</el-button>
<h4>从行内红字删除进入确认</h4>
<danger-action-demo mode="saved">
</danger-action-demo>
```

## 交付与使用边界

- 规范条款、示例代码与待验收场景分开理解；有示例不等于已覆盖所有样式、交互状态和使用场景。
- 业务接口、权限、时区、金额精度、数据规模等依赖应从实际项目读取，不使用演示值代替生产约定。
- 发生样式或文案变更时，同步专题数据、页面与 Markdown，避免规范和样例分离。

## 来源与关联

- 来源线索：历史样板规范 22 / 42。
- [打开本专题页面](../index.html#spec-confirm)
- [通用基线](FOUNDATIONS.md)
- [规范总索引](README.md)
- [结构化规范数据](../component-data.json)（记录 id：`confirm`）
- [原始历史样板](../original-20260621.html)
- [历史规范条目](../spec-notes.json)

自定义示例 `danger-action-demo` 的实现：[danger-actions.js](../danger-actions.js)。

危险操作样式见 [action-contract.css](../action-contract.css)；示例使用本地演示数据。

## 本组件颜色状态表

| 状态 / 条件 | 统一规则 |
| --- | --- |
| 默认 | 弹层 白底、正文深灰，标题 正文深灰、600字重，边框 边框灰；遮罩 外壳深色 的 35% 透明度，阴影 外壳深色 的 12%。 |
| 操作 / 焦点 | 普通信息确认可使用主题蓝按钮；删除、移除等危险确认使用统一危险描边按钮（白底、错误红边框、正文深灰文字）；取消用普通按钮，默认焦点在取消，按钮保留操作蓝键盘轮廓。纯文字删除仍为红字无框，不因“确认”一词一律套主题蓝。 |
| 危险 / 加载 | 删除前的风险提醒使用警告橙图标和正文深灰说明；执行失败才使用错误红反馈。危险确认按钮使用错误红边框，提交中防重复，不给整个弹层染功能色。 |
| 关闭 / 禁用 | 关闭图标 辅助深灰、悬停 操作蓝、禁用 禁用灰；关闭后焦点回到触发点。 |
| 危险文字操作 | 查看、编辑、查看更多使用操作蓝；删除、移除使用危险红。字号同为12px/400，颜色表达动作类型，不通过加粗或更大字号表达危险。 |

仅使用实际存在的组件状态；没有操作能力的内容不添加悬停、选中或禁用变色。

[公共颜色与字体 token](../color-tokens.json) · [公共组件样式](../color-contract.css) · [系统字体合同（最后加载）](../font-contract.css)

## 业务落地场景

- [会员列表 · 会员行状态/修改等需二次确认的动作](../../showcase/index.html#members) · [场景文档](../../showcase/docs/members.md)
- [会员详情 · 详情编辑关闭或变更的二次确认](../../showcase/index.html#member-detail) · [场景文档](../../showcase/docs/member-detail.md)
- [新增账号 · 有修改时关闭创建弹窗 · 放弃确认](../../showcase/index.html#create-account) · [场景文档](../../showcase/docs/create-account.md)
- [取款审核 · 选中记录 · 同意/拒绝确认](../../showcase/index.html#withdrawals) · [场景文档](../../showcase/docs/withdrawals.md)
- [资料审核 · 详情内通过/拒绝 · 确认步骤](../../showcase/index.html#profile-audit) · [场景文档](../../showcase/docs/profile-audit.md)
- [活动管理 · 停用、删除及未保存修改确认](../../showcase/index.html#campaigns) · [场景文档](../../showcase/docs/campaigns.md)
- [广告管理 · 停用、删除、移除素材及未保存确认](../../showcase/index.html#adverts) · [场景文档](../../showcase/docs/adverts.md)
- [公告管理 · 删除、停用与未保存修改确认](../../showcase/index.html#notifications) · [场景文档](../../showcase/docs/notifications.md)
- [通知管理 · 删除及未保存修改确认](../../showcase/index.html#site-messages) · [场景文档](../../showcase/docs/site-messages.md)
- [个人中心 · 未保存修改离开确认](../../showcase/index.html#personal-center) · [场景文档](../../showcase/docs/personal-center.md)

[竞品组件拆解](../../reference-review/竞品组件反推规范.html) · [业务场景分类](../../业务场景分类清单.md)
