当前位置:首页 > 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版本

降低 React 项目版本的步骤 检查当前 React 版本 运行以下命令查看项目中安装的 React 当前版本: npm list react 或 yarn list react 修…

react 如何分页

react 如何分页

分页实现方法 在React中实现分页功能可以通过多种方式完成,具体取决于数据来源(如API或本地数据)和UI库的选择。以下是常见的实现方法: 使用本地数据分页 对于存储在组件状态或Context中…

react如何查

react如何查

React 查询方法 React 提供了多种查询 DOM 元素的方式,以下是几种常见的方法: 使用 ref 通过 useRef 钩子可以获取 DOM 节点的引用,适用于直接操作 DOM 的场景。…

react如何读

react如何读

React 的发音 React 的发音为 /riˈækt/(音标),读作“瑞-艾克特”。其中: “Re” 发音类似英文单词 “read” 的开头部分。 “act” 发音与英文单词 “act” 一致…

react如何遍历

react如何遍历

遍历数组或对象的方法 在React中,遍历数组或对象通常用于渲染列表或动态生成内容。以下是几种常见的遍历方法: 使用map遍历数组map是遍历数组并返回新数组的高阶函数,适合渲染列表。 c…

react如何验证

react如何验证

表单验证方法 在React中验证表单数据通常使用以下几种方式: 内置HTML5验证 利用HTML5原生表单验证属性如required、pattern等,结合form.noValidate属性禁用浏览…