2017-07-18 52 views
2

我无法在我的提交回调中获取字段值。相反,我在那里收到一个事件。 谁能告诉我什么,我做错了如何从REDX形式获取字段值

This is what I am getting in my submit callback

render() { 
 
    const { fields, handleSubmit, submitting, buttonWrapper, btnText } = this.props; 
 
    return (
 
     <form name="AddEvent" onSubmit={handleSubmit}> 
 
     {fields.map(field => (
 
      <div className={field.wrapperClass}> 
 
      <Field 
 
       name={field.name} 
 
       type={field.type || 'text'} 
 
       component={mapComponentClass(field.componentClass)} 
 
       validate={mapValidators(field.validate)} 
 
       props={field.inputProps} 
 
       label={field.label} 
 
      /> 
 
      </div> 
 
     ))} 
 
     <div className="form-submit-wrap container"> 
 
      <button 
 
       type="submit" 
 
       disabled={submitting} 
 
       className="form-submit" 
 
      > 
 
       {submitting ? 'Submitting' : 'Submit'} 
 
      </button> 
 
      </div> 
 
     </form> 
 
    ); 
 
    }

+0

请问您可以添加您的REDX表格代码 –

+1

当然你会在那里得到一个活动,这是一个事件。表单值处于状态。有关如何处理此问题,请参阅redux-form文档,例如http://redux-form.com/7.0.0/examples/submitValidation/。 –

回答

1

handleSubmit应该是你的onSubmit功能的包装。

试试这样说:

<form onSubmit={handleSubmit(onSubmit)}> 
</form> 

现在onSubmit将收到1个参数与所有的表单值。

不是说你自找的,但作为一个侧面说明,如果你愿意,你可以触发从提交验证错误,就像你onSubmit函数中:

throw ReduxForm.SubmissionError({name: 'There\'s something wrong in the name field'}); 

...作为一个结果,你的Ajax调用使name无效。