antd react 动态表单验证和赋

React、AntD,封装动态表单 在React中使用Ant Design(简称AntD)来封装动态表单是一个常见的需求,特别是在需要灵活配置表单字段的场景下。以下是一个基本的步骤和示例代码,展示如何使用React和AntD来封装一个动态表单。 阅读详情
import {Button, Form, Input, Space} from "antd";
import React from "react";
import {MinusCircleOutlined, PlusOutlined} from '@ant-design/icons';

export default class Test extends React.Component{

  state = {
    formArr: []
  }

  formRefMethods = React.createRef()

  async submitForm() {
    const methods = await this.formRefMethods.current.validateFields();
    console.log(methods.sights);
    if (methods.sights){
      // todo
    }

  }

  setForm() {
    const temp = []
    for (let i = 0; i < 5; i++) {
      temp.push({price: i})
    }
    this.formRefMethods.current.setFieldsValue({
      sights: temp
    })
  }

  render() {


    return(
      <div>

        <div style={{display: 'flex', }}>
          <div>
            <div style={{padding: '20px 50px'}}>
              <Button onClick={() => this.setForm()}>赋值</Button>
              &emsp;
              <Button onClick={() => this.submitForm()}>提交验证</Button>
            </div>
            <br/>
            <Form
              ref={this.formRefMethods}
              style={{margin: '0px auto', width: '400px'}}
              name="dynamic_form_methods" autoComplete="off">
              <Form.List name="sights">
                {(fields, {add, remove}) => (
                  <div style={{ paddingBottom: '20px'}}>
                    <Form.Item style={{marginBottom: '10px'}}>
                      <Button size="small" style={{width: '150px', marginLeft: '86px'}} onClick={() => add()} block icon={<PlusOutlined/>}>
                        添加检测方法
                      </Button>
                    </Form.Item>
                    <div >
                      {fields.map(field => (
                        <Space key={field.key} align="baseline"  style={{width: '80%'}}>
                          <Form.Item
                            style={{marginBottom: '10px'}}
                            {...field}
                            label="检测方法"
                            name={[field.name, 'price']}
                            fieldKey={[field.fieldKey, 'price']}
                            rules={[{required: true, message: '请输入'}]}
                          >
                            <Input style={{width: '200px'}}/>
                          </Form.Item>
                          <MinusCircleOutlined onClick={() => remove(field.name)}/>
                        </Space>
                      ))}
                    </div>
                  </div>
                )}
              </Form.List>
            </Form>
          </div>
        </div>
      </div>
    )
  }
}

手把手教你用Zemax优化MTF:从‘离焦平衡球差’到高频像差控制的实战技巧 本文详细介绍了如何使用Zemax优化MTF性能,从基础设置到高级技巧的全流程。通过具体案例,讲解了如何利用离焦平衡球差提升中频MTF,以及识别和控制高频像差的方法,帮助光学设计工程师和学生有效提升成像质量。 阅读详情

相关推荐

西门子V90 PN伺服控制核心:FB284功能块详解与实战

在工业自动化中,伺服定位控制是运动控制的基础环节,其本质是PLC通过PROFINET协议与伺服驱动器实现高速、确定性数据交互。FB284作为西门子为V90 PN定制的标准化功能块,封装了GSD映射、状态机管理与周期性PDO同步机制,将底层寄存器操作抽象为高可靠调用接口。相比MOVE指令或MC_MoveAbsolute等通用方案,FB284显著降低时序错乱风险,提升多轴同步精度与故障响应能力。它广泛应用于包装、灌装、装配等中端产线,尤其适配S7-1200/1500平台下的快速部署与现场维护。本文聚焦V90 P

weixin_42696271的博客 298

react&antd(12)动态表单的默认值问题

动态表单的默认值问题

郑板桥30的博客 1273

基于Godot 4的战术RPG开发:模块化架构与核心系统实现

在游戏开发领域,模块化架构和回合制战斗系统是构建复杂策略游戏的基础。模块化设计通过关注点分离,将游戏逻辑分解为独立、可复用的组件,如数据模型、功能模块和场景,从而提升代码的可维护性和扩展性。回合制战斗系统则依赖于清晰的状态机循环,管理从单位选择、行动决策到伤害结算的完整流程,这是策略游戏体验的核心。这些技术为独立开发者提供了高效起点,能快速验证游戏原型。本文聚焦于一个专为Godot 4引擎设计的开源战术RPG模板,它正是运用了模块化架构和回合制状态机,实现了网格移动、相机控制和基础AI等核心功能。该模板通过

weixin_27021789的博客 614

antdesign vue 表单动态校验规则

antdesign vue

weixin_45212940的博客 5438

思科路由器重分发(静态路由+OSPF动态路由+RIP动态路由)

思科路由器重分发(静态路由+OSPF动态路由+RIP动态路由)

2301_81256766的博客 1254

用OpenCV+ROS实现焊接机器人智能纠偏:线激光视觉的算法调参全流程

本文详细介绍了基于OpenCV和ROS的焊接机器人智能纠偏系统全流程。通过线激光视觉系统实时感知焊缝,重点解析了抗干扰图像预处理、改进的Steger算法提取激光条纹中心线,以及从2D像素到机器人基坐标系的完整坐标变换。该系统为应对焊接飞溅、弧光等复杂工况,实现高精度实时路径纠偏提供了从算法优化到工程集成的完整解决方案。

vodka的博客 157

antd 验证 动态 required_AntD为Form的List设置默认值

有一种迷茫叫一脸懵逼,当明白真相时恍然大悟。 在ant design的官网中有一个demo叫动态增减表单项,非常方便的使用在动态增加选项的功能,但是并没有提供设置默认值,而且在所有使用Form.List的demo中,也都没有。!_! 一脸懵逼的表示,怎么展现默认值啊。官网的DEMOdemo的样例代码为<Form name="dynamic_form_nest_item" onFinish={...

weixin_39857792的博客 1689

手把手教你用Foobar2000播放DSD音频(含DOP设置与SPDIF输出教程)

本文详细指导如何在Foobar2000中播放DSD音频,重点解析了DOP协议的原理与设置方法。通过安装SACD插件、配置输出设备及启用DOP模式,实现DSD音频的原生比特流输出,并特别讲解了如何通过SPDIF接口传输DSD信号,帮助发烧友充分释放高清音频设备的潜力。

weixin_29290963的博客 1814

React踩坑之antd输入框rules中的required=true

你可能跟我一样,输入框必输校验的设置:required=true,下面是一个查询列表中的过滤条件输入框 这样单独使用时,是没问题的。但是,如下图,当你有个页面,或者同个页面里,还有一个新增或修改界面,一般同个界面的输入框跟引用界面的输入框,都是用创建的同一个form,在这个新增界面提交的时候,会发现你提交不了,提示你上面的name_ss也是必填的。这种情况屏幕前的你肯定是有遇到过的。 ...

star_zone的博客 9507

Spring Authorization Server实战:从零搭建OAuth2.1授权中心(含数据库改造)

本文详细介绍了如何从零开始使用Spring Authorization Server搭建符合OAuth2.1规范的授权中心,并完成关键的数据库持久化改造。内容涵盖微服务架构下的统一认证需求、基础配置、数据库表设计、高级特性(如令牌自定义、性能优化)以及与现有系统(如SSO、Gateway网关)的集成实战,为构建生产级授权服务提供完整指南。

weixin_29315091的博客 252

【推荐100个unity插件】动画重定向,快速在不同角色间共享动画,共用非人形Humanoid(泛型generic)动画——Retarget Pro

Retarget Pro是一款高效的Unity动画重定向工具,可快速在不同角色间共享动画。主要特点包括:1分钟快速设置,支持编辑器和运行时重定向;适用于人形、动物、武器等各类角色;提供基础重定向、IK重定向和FPS专用重定向三种功能模块;通过Rig组件和骨架资产实现骨骼链匹配,支持批量处理。插件包含示例项目和预设资源,操作简便且效果优于Unity原生Humanoid系统,特别适合处理手指等精细动画。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 545

react 动态添加组件属性_如何有条件地向React组件添加属性?

Is there a way to only add attributes to a React component if a certain condition is met?I'm supposed to add required and readOnly attributes to form elements based on an ajax call after render, but I...

weixin_42362048的博客 580

华为OD机试真题 新系统2026-04-15 C++ 实现【失灵的键盘】

有一个键盘有2个按键失灵了,按下这些键时会连续输出其他键对应的字符两次。具体如下: 1. 按下j键一次,屏幕上显示uu(两个连续的u);  按下b键一次,屏幕上显示t(两个连续的t) 2. u键和t键是好的,按下u键一次时,屏幕只会显示一次u(正常按键);按下t键一次时,屏幕只会显示一次t(正常按键) 3. 假定屏幕上连续显示两个t一定是按了一次b键,而不是两次t键;假定按键t之后不会紧接着按键b,即tttt转义为两个b,而不可能是tb

MISAYAONE的博客 210

antd动态添加表单_react antd 动态表单

import React, { Component } from 'react';import ReactDOM from'react-dom';import { Form, InputNumber, Input, DatePicker, Button, Select } from'antd';import moment from'moment';//推荐在入口文件全局设置 localeimpor...

weixin_29008805的博客 1043

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

antd扩展动态表单formake,支持事件配置和复杂嵌套

formake 是一款动态表单生成器,基于 react(16.10 以上), antd(5.x)开发,继承了 antd 组件接口,并在此基础上添加了扩展。支持事件配置和多层嵌套,可快速生成复杂表单。

前端361 1384

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Vue antd formModal 表单循环渲染 && React antd form 表单循环渲染

vue antd formModal 表单循环渲染 && react antd form 表单循环渲染 vue antd formModal 官方文档地址: https://www.antdv.com/components/form-model-cn/ <a-form-model :hideRequiredMark="true" :model="serviceForm" ref="servi

天生欧皇张狗蛋 3050

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

antd 动态添加表单_react+antd form表单项动态添加数据的实现

需求效果功能如图:代码:const [relateList, setRelateList] = useState(getPath(initInfo, 'relateLinkList', [] || []));这个是因为此页面还实现了编辑功能,需要渲染初始数据,此时需要监听一个已有的列表,进行删除时候的删除处理,否则初始化后删除会出问题label="关联链接"vvspan={24}labelCol=...

weixin_39966053的博客 1261

React版Ant Design 4.5.4中表单验证

import React from 'react' import { Form, Input, Button, Select } from 'antd'; const { Option } = Select; const { TextArea } = Input; const layout = { labelCol: { span: 8, }, wrapperCol: { span: 16, }, }; const tailLayout.

duansamve的博客 753

antd 动态添加表单_react antd动态增减表单

import React, { Component } from 'react';import styles from'./index.less';import {Table,Button,Select,Popconfirm,Modal,Form,Input,Radio,Row,Col, Tooltip,Icon,message,Pagination, InputNumber,} from'ant...

weixin_39770165的博客 1025

antd 动态添加表单_react antd 动态表单

import React, { Component } from 'react';import ReactDOM from'react-dom';import { Form, InputNumber, Input, DatePicker, Button, Select } from'antd';import moment from'moment';//推荐在入口文件全局设置 localeimpor...

weixin_39532699的博客 350

react和antd3 实现动态表单

import React, { Component } from 'react'; import { Spin, Form, Row, Col, Card,Icon } from 'antd'; import { OcirfButton,OcirfInput } from '@/components'; import { handleNewFilter, getStringLength } from '@/utils/utils'; import styles from './index.less'; im

weixin_50962392的博客 1122

React Antd Form表单使用

import React from "react" import { Form, Input, Button, Row, Col } from 'antd'; const FormItem = Form.Item; const FormTemp = (props) => { const { form } = props const { getFieldDecorator, setFields, validateFieldsAndScroll, getFieldsValue } = form

aminwangaa的博客 1732

antd-form-builder 使用教程

antd-form-builder 使用教程 项目介绍 antd-form-builder 是一个基于 ant-design 和 react-hook-form 构建的表单生成库。它可以根据提供的有效 JSON 模式生成一个 ant 设计表单。这个库简化了表单的创建过程,使得开发者可以更专注于业务逻辑而非表单的布局和验证。 项目快速启动 安装 首先,你需要安装 antd-form-builder:...

gitblog_00632的博客 358

antd 动态添加表单_react 的antd 动态增加表单添加默认值

想做个修改操作,需要显示之前的表单值,但是不知道如何组织数据结构?如图:想要实现效果如下图,页面加载就默认有两个input框并且有两个值分别是1,2代码```import{Form,Input,Icon,Button,}from'antd';letid=0;classDynamicFieldSetextendsReact.Component{remove=(k)=&...

weixin_39886841的博客 1298

react和vue的区别之一

设计哲学差异• Vue 的响应式系统需要明确知道哪些属性需要跟踪• React 的状态更新是显式的(通过setStateAnt Design Form 的工作原理fill:#333;color:#333;color:#333;fill:none;Form.Item的name属性内部维护storeonFinish时提取对应数据性能考量• Vue 的响应式系统需要初始化所有属性• React 的虚拟 DOM 差异更新更灵活。

2301_79428107的博客 1824

antd 动态添加表单_react项目中如何使用antd的form组件,动态设置input框的值

react项目中如何使用antd的form组件,动态设置input框的值发布时间:2020-10-26 14:20:54来源:亿速云阅读:123这期内容当中小编将会给大家带来有关react项目中如何使用antd的form组件,动态设置input框的值,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。问题:创建账号时,输入账号后不搜索直接保存,提示查询后,再点搜索就不...

weixin_39632379的博客 1763
上一篇: react 父子组件通信(class组件、hooks组件)
下一篇: 正则表达式
脑瓜不疼
博客等级 码龄9年 84粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值