React + Ant Design 4.X版本表单Form数据回显、清除、获取某一值、获取整个表单的值

使用步骤:

  1. 给From表单添加ref属性,假设这里设置的ref=“addForm”
  2. 在满足条件的时候,通过下列方法做不同的事
    ①数据回显(设置值)
    this.refs.addForm.setFieldsValue({name: ‘json’}) // 给一个对象,属性名为表单中的某一项
    ②清空数据
    this.refs.addFrom.resetFields()
    ③获取某一表单项的值
    this.refs.addFrom.getFieldValue(‘name’)
    ④获取多项的值
    this.refs.addFrom.getFieldsValue([‘name’, ‘age’]) // 给一个数组
    ⑤获取整个表单的值
    this.refs.addFrom.getFieldsValue() // 不传参数
// Form表单
<Form
            layout='vertical'
            ref='addForm'
            onFinish={this.onFinish}
          >
            <Form.Item
              name='name'
              label='名字'
              rules={[
                {
                  required: true,
                  validator: (rule, value, callback) => this.handleName(rule, value, callback),
                  validateTrigger: ['onBlur', 'onChange']
                }
              ]}
            >
              <Input placeholder='请输入名字' allowClear />
            </Form.Item>
            <Form.Item
              name='age'
              label='年龄'
              rules={[
                {
                  required: true,
                  validator: (rule, value, callback) => this.handleAge(rule, value, callback),
                  validateTrigger: ['onBlur', 'onChange']
                }
              ]}
            >
              <Input placeholder='请输入年龄' allowClear />
            </Form.Item>
            <Form.Item>
              <Button type='primary' htmlType='submit'>保存</Button>
            </Form.Item>
          </Form>
// 我是需要在编辑的时候数据回显,所以选择在componentDidMount周期函数处理
componentDidMount () {
    this.setState({
      id: this.props.match.params.id
    })
    // 通过路由获取到的id来区分新增与编辑,有id为编辑
    // 编辑的时候回显数据
    if (this.props.match.params.id) {
    // dataSource为数组对象结构
      const data = this.state.dataSource.find(item => {
        return item.key === Number(this.props.match.params.id)
      })
      // 手动设置Form表单的值
      this.refs.addForm.setFieldsValue(data)
    }
  }

在这里插入图片描述

Ant Design 是一个非常流行的 React UI 库,它提供了许多组件,其中包括 Form 组件。Form 组件提供了一种简单的方式来管理表单数据,可以轻松地将输入数据收集到一个对象中。 以下是一个简单的示例,演示如何使用 Ant Design Form 组件来收集表单数据并将其打印到控制台中: ```jsx import React from "react"; import { Form, Input, Button } from "antd"; const DemoForm = () => { const onFinish = (values) => { console.log("Form values:", values); }; return ( <Form onFinish={onFinish}> <Form.Item label="Username" name="username"> <Input /> </Form.Item> <Form.Item label="Password" name="password"> <Input.Password /> </Form.Item> <Form.Item> <Button type="primary" htmlType="submit"> Submit </Button> </Form.Item> </Form> ); }; export default DemoForm; ``` 在上面的示例中,我们使用 Ant Design Form 组件来创建一个简单的表单。我们使用 `Form.Item` 包装每个表单控件,以便可以对其进行验证和布局。每个 `Form.Item` 都具有一个 `name` 属性,该属性将用于收集表单数据。在 `onFinish` 回调函数中,我们将表单数据打印到控制台中。 请注意,我们使用了 `Input` 和 `Input.Password` 组件来创建文本框和密码框。Ant Design 还提供了其他类型的表单控件,例如 `Checkbox`、`Radio`、`Select` 等。 如果您想要获取整个表单,可以在 `onFinish` 回调函数中获取 `values` 参数,该参数将包含整个表单。您可以将其打印到控制台中,或者将其发送到服务器进行处理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值