React+Antd项目,Form的Input中已经有内容,但是还是提示此项为必填项,不能为空

一、前言

我们在进行数据采集功能开发的时候,往往会用到Form表单,这其中必不可少的就会用到Input(多种type类型)输入框。经常还会对其中的某一些Input输入做一些必填或者某些输入格式的限制,设置默认值和placehoder等等需求场景。我在使用React + Antd构建含有多个Input组件的Form表格时,遇到了下述问题…

二、问题描述、分析及解决办法

2.1、问题描述

一个Form表单,包含了数个Input输入框组件,其中有一些为必填的Input框,其中有一些Input组件用defaultValue属性设置了默认值,即Input框内可以看到是有数据的,但是对这些Input内容不做任何修改,直接提交Form表单,发现必填的Input框会弹出“此项不能为空 / 此项为必填项,不可为空”的报错。
直接上图更直观:
在这里插入图片描述

2.2、问题分析

那么,既然Input框内表现看来,是有值的,但是为什么这个校验规则会被触发呢?于是,我想要把这个设置了defaultValue值的Input的value打印出来看看到底是什么情况。结果,打印出来的value竟然为undefined
由此看来,必填报错规则是没有问题的,问题出在了这个设置了defaultValue的Input组件的初始的value值是没有的。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值