Alune 组件

AlunePopconfirm

用于单对象、局部操作的确认,较大范围或不可撤销操作使用 AluneModal。

使用方式

触发元素必须是单个 ReactElement。safe / warning / danger 分别表达局部可恢复移除、提醒与危险操作。批量、较大范围或不可撤销操作使用 L2 弹窗。

import { AlunePopconfirm } from '@alune/ui';

接入要求见快速开始,选择依据见 交互与无障碍规范。

运行示例

运行与复制源码来自同一 TSX 文件。浮层、状态和主题独立于文档;所有回调只更新本地模拟数据。

真实示例 TSX 独立预览 ↗
查看运行源码
源码文件
import { useState } from 'react';
import { AlunePopconfirm, Button, Space } from '@alune/ui';

export default function Example() {
  const [result, setResult] = useState('');
  return (
    <div className="example">
      <h2 className="example-title">安全、警告与危险操作</h2>
      <Space wrap size="middle">
        {(['safe', 'warning', 'danger'] as const).map((tone) => (
          <AlunePopconfirm
            key={tone}
            title="移除此示例条目?"
            description="此操作只更新本地示例状态。"
            icon="folder"
            tone={tone}
            okText="移除"
            onConfirm={() => setResult(`${tone}:已移除`)}
          >
            <Button danger={tone !== 'safe'}>{tone}</Button>
          </AlunePopconfirm>
        ))}
      </Space>
      <p className="example-status" role="status">
        {result}
      </p>
    </div>
  );
}

API

AlunePopconfirm

触发元素必须是单个 ReactElement。safe / warning / danger 分别表达局部可恢复移除、提醒与危险操作。批量、较大范围或不可撤销操作使用 L2 弹窗。

查看 AlunePopconfirm 实现 ↗

AlunePopconfirmProps

属性 / 方法 类型 默认值 必填 说明
title ReactNode — 是 标题或主文案。
description ReactNode — 否 辅助说明。
extra ReactNode — 否 额外内容或操作。
icon "warning" | "info" | "x" | "arrow-right" | "arrow-up-right" | "check" | "caret" | "trash" | "lock" | "key" | "server" | "folder" | "folder-open" | "branch" | "merge" | "pr" | "archive" | "cloud-up" | "cloud-down" | "globe" | "user" | "mail" | "terminal" | "laptop" | "search" | "bell" | "copy" | "eye" | "eye-off" | "link" | "sparkle" | "sliders" | "columns" | "download" | "moon" | "sun" | "wave" | "file" | "file-plus" | "refresh" | "plus" | "pencil" | "swap" | "shield" | "plug" | "tree" | "commit" | "chat" | "dots" | "clock" | "undo" — 是 图标内容或图标名。
tone "warning" | "danger" | "safe" 'warning' 否 语义色调。
okText string — 是 确认动作文字。
okDisabled boolean — 否 锁定确认按钮。
hint ReactNode — 否 确认提示。
onConfirm () => unknown — 是 确认回调;Promise 交给 Ant Design 管理等待,拒绝时保留浮层。
onOpenChange ((open: boolean) => void) — 否 开启状态变化回调,参数为 boolean。
placement TooltipPlacement — 否 相对触发元素的浮层位置。
disabled boolean — 否 禁用操作。
wide boolean — 否 使用加宽确认浮层。
focus "ok" | "extra" 'ok' 否 初始焦点:确认按钮或 extra 中第一个控件。
children ReactElement<unknown, string | JSXElementConstructor<any>> — 是 渲染的子内容。

查看 AlunePopconfirmProps 实现 ↗

交互与使用限制

为每个操作提供可访问名称,为输入关联 label;使用语义化组件和清晰焦点。不要只靠颜色传达状态,禁用与等待时避免重复执行。

触发元素必须是单个 ReactElement。safe / warning / danger 分别表达局部可恢复移除、提醒与危险操作。批量、较大范围或不可撤销操作使用 L2 弹窗。

键盘、焦点、风险确认与通知策略的完整约定见交互规范。