Antd表单组件用React Hooks重写,怎么获取表单的值?

Antd表单组件用React Hooks重写,怎么获取表单的值?比如antd-mobile的TextareaItem组件,
用React Hooks重写它,半成品代码如下:

import React, { useState, useEffect} from "react"
import { List, TextareaItem } from 'antd-mobile';
import { createForm } from 'rc-form';


function TextareaItemExample {

  useEffect(() => {
    //this.autoFocusInst.focus();
  });

  return (
    <div>
      <List renderHeader={() => 'Customize to focus'}>
        <TextareaItem
          title="title"
          placeholder="auto focus in Alipay client"
          data-seed="logId"
          ref={el => this.autoFocusInst = el}
          autoHeight
        />
        <TextareaItem
          title="content"
          placeholder="click the button below to focus"
          data-seed="logId"
          autoHeight
        />
      </List>
    </div>
  );
}

const TextareaItemExampleWrapper = createForm()(TextareaItemExample);

export default TextareaItemExampleWrapper;


问题:
1、怎么获取表单的值?获取值后好用于发送ajax请求。这里有个自定义Hook库react-use-form-state,但是它用于原生html表单,怎么在antd表单上做同样的事?

2、 class组件改成function组件后, this.autoFocusInst.focus(); 这个语句应该怎么写?

阅读 11k
3 个回答
新手上路,请多包涵

1.antd表单使用getFieldDecorator双向绑定指定一个字段,使用this.props.form.validateFields或者this.props.form.getFieldsValue获取表单的值。
2.试试useRef

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题