antd实现一个带有输入框的确认删除对话框

在使用 Ant Design 的 Modal 组件时,可以通过以下方式实现一个带有输入框的确认删除对话框。用户必须输入特定内容(如"delete")后才能执行删除操作:

示例代码

tsx 复制代码
import React, { useState } from "react";
import { Modal, Button, Input, message } from "antd";

const DeleteModal: React.FC = () => {
  const [visible, setVisible] = useState(false);
  const [inputValue, setInputValue] = useState<string>("");

  const showModal = () => {
    setVisible(true);
  };

  const handleOk = () => {
    if (inputValue.toLowerCase() === "delete") {
      message.success("删除成功!");
      setVisible(false);
      setInputValue(""); // 清空输入框
    } else {
      message.error("请输入正确的删除确认词!");
    }
  };

  const handleCancel = () => {
    setVisible(false);
    setInputValue(""); // 清空输入框
  };

  return (
    <div>
      <Button type="danger" onClick={showModal}>
        删除
      </Button>
      <Modal
        title="确认删除"
        visible={visible}
        onOk={handleOk}
        onCancel={handleCancel}
      >
        <p>请输入 "delete" 以确认删除:</p>
        <Input
          value={inputValue}
          onChange={(e) => setInputValue(e.target.value)}
          placeholder="请输入 delete"
        />
      </Modal>
    </div>
  );
};

export default DeleteModal;

代码说明

  1. 输入框验证 :通过监听输入框的值(inputValue),在点击"确定"按钮时检查是否输入了正确的值(如"delete")。
  2. 动态提示 :如果用户输入错误,会通过 message.error 提示用户输入正确的删除确认词。
  3. 模态框控制 :通过 visible 状态控制模态框的显示与隐藏。

将上述代码集成到你的项目中,即可实现用户必须输入"delete"才能确认删除的功能。

相关推荐
方也_arkling38 分钟前
别名路径联想提示。@/统一文件路径的配置
前端·javascript
毕设源码-朱学姐41 分钟前
【开题答辩全过程】以 基于web教师继续教育系统的设计与实现为例,包含答辩的问题和答案
前端
web打印社区1 小时前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
RFCEO1 小时前
前端编程 课程十三、:CSS核心基础1:CSS选择器
前端·css·css基础选择器详细教程·css类选择器使用方法·css类选择器命名规范·css后代选择器·精准选中嵌套元素
Amumu121382 小时前
Vuex介绍
前端·javascript·vue.js
We་ct2 小时前
LeetCode 54. 螺旋矩阵:两种解法吃透顺时针遍历逻辑
前端·算法·leetcode·矩阵·typescript
2601_949480062 小时前
【无标题】
开发语言·前端·javascript
css趣多多2 小时前
Vue过滤器
前端·javascript·vue.js
理人综艺好会3 小时前
Web学习之用户认证
前端·学习
We་ct3 小时前
LeetCode 36. 有效的数独:Set实现哈希表最优解
前端·算法·leetcode·typescript·散列表