首页 > 其他分享 >antd react form.list动态增减表单项Switch受控

antd react form.list动态增减表单项Switch受控

时间:2024-08-02 16:55:46浏览次数:13  
标签:switches const Form form list react field Switch 组件

import React, { useState } from 'react';
import { Form, Input, Switch, Button } from 'antd';
 
const Demo = () => {
  const [switches, setSwitches] = useState({});
 
  const onFinish = (values) => {
    console.log('Received values of form: ', values);
  };
 
  return (
    <Form
      name="dynamic_form_item"
      onFinish={onFinish}
      autoComplete="off"
    >
      <Form.List name="list">
        {(fields, { add, remove }) => (
          <>
            {fields.map((field, index) => (
              <Form.Item
                {...field}
                name={[field.name]}
                key={field.key}
                fieldKey={field.fieldKey}
              >
                <Input placeholder="Input number" />
                <Switch
                  checked={switches[field.name]}
                  onChange={(checked) => {
                    setSwitches({ ...switches, [field.name]: checked });
                  }}
                />
                {fields.length > 1 ? (
                  <Button
                    onClick={() => {
                      remove(field.name);
                      setSwitches({ ...switches, [field.name]: undefined });
                    }}
                  >
                    Delete
                  </Button>
                ) : null}
              </Form.Item>
            ))}
            <Form.Item>
              <Button type="dashed" onClick={() => add()}>
                <PlusOutlined /> Add field
              </Button>
            </Form.Item>
          </>
        )}
      </Form.List>
      <Form.Item>
        <Button type="primary" htmlType="submit">
          Submit
        </Button>
      </Form.Item>
    </Form>
  );
};
 
export default Demo;

        这个代码示例展示了如何使用Ant Design的Form和Form.List组件来创建一个可动态增减表单项的表单,并且每个表单项旁边都有一个Switch组件,这些Switch组件是受控的,即它们的状态会被保存在组件的状态中。当用户提交表单时,表单的数据以及Switch的状态都会被打印出来。

标签:switches,const,Form,form,list,react,field,Switch,组件
From: https://blog.csdn.net/u010234868/article/details/140875215

相关文章

  • Pytorch笔记|小土堆|P10-13|transforms
    transforms对图像进行改造最靠谱的办法:根据help文件自行学习transforms包含哪些工具(类)以及如何使用————————————————————————————————————自学一个类时,应关注:1、如何使用各种工具(类)的使用思路:创建对象(实例化)——>传入参数,调用函数(如有__......
  • 深度学习扫盲——Transforms
    在PyTorch中,torchvision是一个常用的库,它提供了对图像和视频数据的处理功能,包括数据加载、转换等。transforms是torchvision.transforms模块的一部分,它定义了一系列的图像转换操作,这些操作可以单独使用或者组合成转换序列(通过transforms.Compose),以便于在数据加载时自动应用到图像......
  • Seurat-SCTransform与harmony整合学习
    目录基础介绍SCTransform与harmony联合代码测试1)报错解决2)SCTransform标准化3)harmony去批次基础介绍源于Rtips:Seurat之SCTransform方法原理(qq.com)Seurat对象在经过SCTransform处理后会增加一个SCT的Assay,里面的scaled.data就是经过scale之后的pearsonresidual值......
  • vue3 ref和reactive原理区别
    概述ref是通过一个中间对象RefImpl持有数据,并通过重写它的set和get方法实现数据劫持的,本质上依旧是通过Object.defineProperty对RefImpl的value属性进行劫持。reactive则是通过Proxy进行劫持的。Proxy无法对基本数据类型进行操作,进而导致reactive在面对基本数据类型时的束......
  • 如何理解词向量、Transformer模型以及三个权重矩阵
    词向量与transformer 生成词向量的过程和训练Transformer的过程是两个不同的过程,但它们都是自然语言处理中的重要组成部分。#词向量的生成词向量(如Word2Vec、GloVe、FastText等)通常是通过预训练的词嵌入模型得到的。这些模型在大规模文本数据上训练,捕捉词与词之间的语义关系,......
  • Transformer预测模型及其Python和MATLAB实现
    ###一、背景在自然语言处理(NLP)领域,传统的序列到序列(Seq2Seq)模型大多依赖于循环神经网络(RNN)和长短期记忆(LSTM)网络。这些模型虽然在许多任务中取得了成功,但由于其计算效率低下以及长距离依赖关系处理的不足,导致模型训练时间漫长,并在处理较长文本时效果不佳。2017年,Vaswani等人......
  • OAF export data from VO in xlsx format
    InthisarticlewearegoingtoseehowtoexportviewobjectinMicrosoftofficeexcelxlsxformatToexportwithxlsxformatfewbasicthingsneededareJarfiles(Listofjari'veusedisshowninbelowscreenshot)ForbetterunderstandingI’lli......
  • WInform 控件大小随窗体大小等比例缩放
    winform控件自动大小usingSystem;usingSystem.Drawing;usingSystem.Windows.Forms;usingUCControl=System.Windows.Forms.Control;///<summary>///控件自动适应///使用直接继承FormAutoSize即可///示例如下:///***示例代码***:publicForm1()///***示例代......
  • platformio 添加github的库
    platformio添加github的库在PlatformIO中添加GitHub上的库,你需要在项目的platformio.ini文件中使用库的GitHubURL。以下是添加库的步骤:打开你的PlatformIO项目的platformio.ini文件。在[env:default]部分或者特定的环境部分下,使用lib_deps指令添加GitHub上的库......
  • 我收到错误:“AttributeError:类型对象‘UserList’没有属性‘as_view’”,就像,它没有看
    我收到错误:“AttributeError:类型对象‘UserList’没有属性‘as_view’”,就像,它没有看到“as_view()”Userapp中的Myurls.pyfromdjango.urlsimportpathfrom.viewsimport*urlpatterns=[path('list',UserList.as_view(),name='user-view')]views.......