【Antd】Form 表单获取不到 Input 的值

文章目录

今天遇到了一个奇怪的bug,Form表单中的Input组件的值,不能被Form获取,导致输入了内容,但是表单提交的时候值为undefined

  • 报错代码
ts 复制代码
import { Button,  Form, Input } from 'antd';
import React from 'react';

const App: React.FC = () => {
  const onFinish = ({desc) => {
    console.log('desc:', desc);	// undefined
  };

  return (
    <Form
      name="basic"
      labelCol={{ span: 8 }}
      wrapperCol={{ span: 16 }}
      onFinish={onFinish}
    >
      <Form.Item label="描述:" name="desc">
    	<Input.TextArea  />,
  	  </Form.Item>
      <Form.Item>
        <Button type="primary" htmlType="submit">
          Submit
        </Button>
      </Form.Item>
    </Form>
  );
};
  • 不知道大家看上面的报错示例是否一眼就看出问题了,没看出来没关系,我来解释一下
html 复制代码
<Form.Item label="描述:" name="desc">
 	<Input.TextArea  />,
</Form.Item>
  • 是的,没错,就是<Input.TextArea />右边多了个符号(,)导致的
  • 因为Form.ItemInput之间不能有其他多余内容
  • 比如:这样也是不行的,之间多了一层div结构什么的
html 复制代码
<Form.Item label="描述:" name="desc">
	<div>
 		<Input.TextArea  />
 	</div>
</Form.Item>
相关推荐
拉不动的猪1 分钟前
文件下载:后端配置、前端方式与进度监控
前端·javascript·浏览器
Amy_yang7 分钟前
前端实现 Server-Sent Events 全解析:从代码到调试的实战指南
前端·uni-app
sean聊前端7 分钟前
听说vite要一统江湖了,我看看怎么个事
前端
喝二两啤酒10 分钟前
手把手打通 H5 多支付通道(Apple pay、Google pay、第三方卡支付)
前端
特级业务专家27 分钟前
续集:Vite 字体插件重构之路 —— 从“能用”到“生产级稳定”
javascript·vue.js·vite
gongzemin28 分钟前
约课小程序增加候补功能
前端·微信小程序·小程序·云开发
西西西西胡萝卜鸡31 分钟前
徽标(Badge)的实现与优化铁壁猿版(简易版)
前端
Never_Satisfied32 分钟前
在JavaScript / 微信小程序中,动态修改页面元素的方法
开发语言·javascript·微信小程序
王大宇_40 分钟前
虚拟列表从入门到出门
前端·javascript
程序猿小蒜44 分钟前
基于springboot的人口老龄化社区服务与管理平台
java·前端·spring boot·后端·spring