当前位置:首页 > React

react中如何使用确认框

2026-01-25 00:43:42React

使用 window.confirm 实现基础确认框

在 React 中可以直接调用浏览器原生 window.confirm 方法,这种方式简单直接但样式不可定制。
当用户点击按钮时触发确认框,根据用户选择执行不同逻辑:

react中如何使用确认框

function ConfirmDemo() {
  const handleDelete = () => {
    if (window.confirm('确定要删除此项吗?')) {
      console.log('执行删除操作');
    } else {
      console.log('取消删除');
    }
  };

  return <button onClick={handleDelete}>删除项目</button>;
}

使用第三方库(如 react-confirm-alert

通过 react-confirm-alert 库可以创建高度自定义的确认框,支持样式和布局的完全控制。
安装依赖后,通过 confirmAlert 函数调用:

react中如何使用确认框

npm install react-confirm-alert
import { confirmAlert } from 'react-confirm-alert';
import 'react-confirm-alert/src/react-confirm-alert.css';

function CustomConfirm() {
  const showAlert = () => {
    confirmAlert({
      title: '确认操作',
      message: '此操作不可逆,是否继续?',
      buttons: [
        {
          label: '确定',
          onClick: () => alert('已确认')
        },
        {
          label: '取消',
          onClick: () => null
        }
      ]
    });
  };

  return <button onClick={showAlert}>自定义确认框</button>;
}

基于 Modal 组件实现自定义确认框

通过 React 状态管理和 Modal 组件(如 Ant Design 的 Modal)可以灵活控制确认框的显示与行为:

import { useState } from 'react';
import { Modal, Button } from 'antd';

function ModalConfirm() {
  const [isOpen, setIsOpen] = useState(false);

  const handleConfirm = () => {
    setIsOpen(false);
    console.log('确认操作');
  };

  return (
    <>
      <Button onClick={() => setIsOpen(true)}>打开确认框</Button>
      <Modal
        title="提示"
        open={isOpen}
        onOk={handleConfirm}
        onCancel={() => setIsOpen(false)}
      >
        <p>确定要提交当前数据吗?</p>
      </Modal>
    </>
  );
}

使用 SweetAlert2 创建美观的确认框

SweetAlert2 提供丰富的动画和样式选项,适合需要视觉吸引力的场景:

npm install sweetalert2
import Swal from 'sweetalert2';

function SweetConfirm() {
  const showAlert = () => {
    Swal.fire({
      title: '是否保存修改?',
      icon: 'question',
      showCancelButton: true,
      confirmButtonText: '保存',
      cancelButtonText: '放弃'
    }).then((result) => {
      if (result.isConfirmed) {
        Swal.fire('已保存!', '', 'success');
      }
    });
  };

  return <button onClick={showAlert}>保存更改</button>;
}

分享给朋友:

相关文章

如何生成react代码

如何生成react代码

使用 Create React App 生成项目 安装 Node.js 后,通过命令行工具运行以下命令创建新项目: npx create-react-app my-app cd my-app npm…

如何开发react

如何开发react

开发React应用的基本步骤 安装Node.js和npm 确保系统中已安装Node.js(包含npm)。可通过官网下载安装包,安装后验证版本: node -v npm -v 创建React项目…

react 如何debug

react 如何debug

React 调试方法 使用 React Developer Tools React Developer Tools 是浏览器扩展,支持 Chrome 和 Firefox。安装后,可以在开发者工具中查看…

如何调试react

如何调试react

调试 React 应用的方法 使用 React Developer Tools 安装浏览器扩展(Chrome/Firefox),通过组件树查看组件状态、props 和 hooks。支持实时编辑 pro…

react如何重启

react如何重启

重启 React 应用的方法 重新加载当前页面 使用 window.location.reload() 强制刷新页面,这会重新加载整个应用并重置所有状态。 window.location…

react如何扩展

react如何扩展

扩展 React 项目的常用方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式。通过包裹组件并注入额外属性或逻辑,可以实现功能扩展。例如,一个日志记录的高阶组件: function…