antd 2.x form组件ref不能获取表单实例?

//排序
  sortModalSubmit = async () => {
    const { examInfo, subjectInfo, type } = this.state;
    console.log('ref', this.sortForm);
    const values = await this.sortForm.validateFields(); // TypeError this.sortForm.validateFields is not a function 这里报错
    const params = { ...values, id: type === 'examType' ? examInfo.id : subjectInfo.id, type };
    let res = request('/api/online-school/admin/exam/sort', {
      method: 'POST',
      body: JSON.stringify(params),
    })
 
  }

<Modal maskClosable={false} title="排序" visible={true} onOk={this.sortModalSubmit}
            onCancel={() => {
              this.setState({ sortVisible: false })
            }} bodyStyle={{ display: 'flex' }}>

            <Form
              ref={form => {this.sortForm = form}}
              >
              <Form.Item
                {...formProps}
                label="排序序号"
                required
              >
                
                {getFieldDecorator('sortNum', {
                })(<InputNumber min={1} />)}
              </Form.Item>
            </Form>
</Modal>

我用的react版本是"react": "^15.5.4","antd": "^2.12.3",这个react文档获取类组件ref就是这样写的.不过antd文档没有给这方面的说明.

请问我要怎么获取form表单的实例,来手动触发validateFields()拿到表单中的值
因为页面有很多model弹窗所以存在多个表单组件

阅读 3.2k
1 个回答

官方2.x文档

// antd2.x版本中的form 使用的是高阶函数来传递一个form实例
const WrappedNormalLoginForm = Form.create()(NormalLoginForm);
// 所有 你需要的form实例
可以直接使用 this.props.form 来获取。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题