react_8

news/2024/7/15 18:31:42 标签: react.js, javascript, 前端
修改
import { Form, Input, InputNumber, Modal, Radio, message } from "antd";
import { useForm } from "antd/es/form/Form";
import { Student } from "../model/Student";
import { useEffect } from "react";
import axios from "axios";
import R from "../model/R";
import { Rule } from "antd/es/form";

export default function A6Update({
  open,
  onSuccess,
  student,
  onCancel,
}: {
  open: boolean;
  onSuccess?: () => void;
  student: Student;
  onCancel: () => void;
}) {
  const { Item } = Form;
  const { Group } = Radio;
  const options = [
    { label: "男", value: "男" },
    { label: "女", value: "女" },
  ];
  //form代表表单对象
  const [form] = useForm();
  async function onOK() {
    const values = await form.validateFields();
    console.log(values);
    const resp = await axios.put<R<string>>(
      `http://localhost:8080/api/students/${values.id}`,
      values
    );
    message.success(resp.data.data);
    onSuccess && onSuccess();
  }
  useEffect(() => {
    //用点击修改所在行的数据填充表单
    form.setFieldsValue(student);
  }, [student]);
  const nameRules: Rule[] = [
    { required: true, message: "姓名必须" },
    { min: 2, type: "string", message: "至少两个字符" },
  ];
  const ageRules: Rule[] = [
    { required: true, message: "年龄必须" },
    { min: 10, type: "number", message: "至少10岁" },
    { max: 120, type: "number", message: "最大120岁" },
  ];
  return (
    <Modal
      open={open}
      title="修改学生"
      onOk={onOK}
      onCancel={onCancel}
      forceRender
    >
      <Form form={form}>
        <Item label="编号" name="id">
          <Input readOnly></Input>
        </Item>
        <Item label="姓名" name="name" rules={nameRules}>
          <Input></Input>
        </Item>
        <Item label="性别" name="sex">
          <Group
            options={options}
            optionType="button"
            buttonStyle="solid"
          ></Group>
        </Item>
        <Item label="年龄" name="age" rules={ageRules}>
          <InputNumber></InputNumber>
        </Item>
      </Form>
    </Modal>
  );
}
  • forceRender 是避免因为使用 useForm 后,表单套在 Modal 中会出现下面的警告

  •   Warning: Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?


http://www.niftyadmin.cn/n/5150714.html

相关文章

分享一下在微信小程序里怎么做一个投票链接

在当今信息化社会&#xff0c;投票已成为各行各业收集意见、汇聚智慧的重要手段。传统的投票方式往往需要投入大量人力物力&#xff0c;而如今&#xff0c;借助微信小程序&#xff0c;我们可以在几分钟内创建一个高效、便捷的投票平台。本文将详细介绍如何在微信小程序中添加投…

linux杀毒软件ClamAV下载、安装(在线安装、离线安装)

流程图 下载 ClamAVNet 离线安装脚本 #扫描文件路径 scanfile"/home" #分钟 小时 日期 月份 星期几, 例:0 0 * * * 表示每天0时0秒 scantime"0 0 * * *"#添加用户组和组成员 groupadd clamav useradd -g clamav -s /bin/false -c "Clam AntiVirus&q…

数据结构队列例题一顺序实现

仅供个人复习使用 #include<iostream> #define MAXSIZE 6using namespace std;typedef struct {int *base;int front;int rear;}sqQueue;void Init(sqQueue &Q) //初始化 {Q.base new int[MAXSIZE];Q.front Q.rear 0; } int QueueLength(sqQueue Q)//求队列长度…

Java 正则表达式空格篇

匹配空格 用 \s 可以匹配一个空格&#xff0c; String regexs "j\\sa";System.out.println("j a".matches(regexs));// trueSystem.out.println("j aa".matches(regexs));// falseSystem.out.println("j av".matches(regexs));// fa…

JavaScript变量的基础与详细解析实例

JavaScript是一种动态类型语言&#xff0c;允许开发人员在运行时定义和改变变量的类型和值。在JavaScript中&#xff0c;变量是用来存储数据的容器。变量可以存储不同类型的数据&#xff0c;如字符串、数字、布尔值、数组等。在JavaScript中&#xff0c;变量的声明使用关键字va…

创建asp.net api和docker-compose项目

vs2022创建asp.net core web api项目 创建完成 添加docker-compose支持 添加成功 docker配置 docker-compose配置

Zabbix如何监控腾讯云NAT网关

1、NAT网关介绍 NAT 网关&#xff08;NAT Gateway&#xff09;是一种支持 IP 地址转换服务&#xff0c;提供网络地址转换能力&#xff0c;主要包括SNAT&#xff08;Source Network Address Translation&#xff0c;源网络地址转换&#xff09;和DNAT&#xff08;Destination N…

QT 实现解密m3u8文件

文章目录 概要如何解密M3U8文件呢实现思路和代码序列图网络请求解密 结论 概要 视频文件很多已M3U8文件格式来提供&#xff0c;先复习下什么是M3U8文件&#xff01;用QT的 mutimedia框架来播放视频时&#xff0c;有的视频加载慢&#xff0c;有的视频加载快&#xff0c;为啥&am…