微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

react from 表单获取值

import React, { Component } from 'react'
import { Form, Input, Button } from 'antd'
 
class Example extends Component {
  // 通过 Ref 来获取 Form 实例
  // 同样的,你可以不使用createRef()方法而用this.refs.XXX也可以
  formRef = React.createRef()
 
  // 通过 Form 的 Submit监听 得到字段值
  onFinish = values => {
    console.log(values)
  }
 
  getValues= () => {
    // 得到 Form 实例
    const form = this.formRef.current
    // 使用 getFieldsValue 获取多个字段值
    const values = form.getFieldsValue(['name','age'])
    console.log(values)
  }
 
  getValidateValues= async () => {
    const form = this.formRef.current
    // 使用 validateFields 获取验证后字段值
    try {
      const values = await form.validateFields(['name','age'])
      console.log(values)
    } catch (err) {
      console.log(err)
    }
  }
 
  render() {
    const { Item } = Form
    return (
      <Form ref={this.formRef} onFinish={this.onFinish}>
        <Item name='name' label='姓名' rules={[{required:true,message:'请输入姓名'}]}>
          <Input />
        </Item>
        <Item name='age' label='年龄'>
          <Input />
        </Item>
        <Item>
          <Button type='primary' htmlType='submit'>提交</Button>
          <Button type='link' onClick={this.getValues}>非 Submit 方式(不验证)</Button>
          <Button type='link' onClick={this.getValidateValues}>非 Submit 方式(验证)</Button>
        </Item>
      </Form>
    )
  }
}
 
export default Example

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐