props.submit()函数不调用onSubmit方法

时间:2019-05-31 12:11:42

标签: reactjs react-redux redux-form

onSubmit事件中调用onChange方法时,我遇到了问题。

如果下面的表单是由提交按钮提交的,则将调用buttonOnSubmit

但是,如果表单是在props.submit()事件中由功能onChange提交的,则不会调用功能buttonOnSubmit

你知道为什么吗?我试图在文档中以及互联网上找到解释,但失败了。

谢谢。

  const Form = props => {
    // this method is called if submit button is clicked, it is not called from onChange event
    const buttonOnSubmit = (formData) => {
      return new Promise((resolve, reject) => {
        if (props.onSubmit) {
          props.onSubmit(formData);
        }
      });
    };

    return (
      <form onSubmit={props.handleSubmit(buttonOnSubmit)}>
        ....
      </form>
    );
  };

  return reduxForm({
    form: 'name',
    onChange: (values, dispatch, props) => {
        setTimeout(() => {
          props.submit();
        }, 0);
    }
  })(Form);

1 个答案:

答案 0 :(得分:-1)

您好想帮忙,但您还有其他要分享的代码吗?我猜这还不完整您的代码。 reduxForm({     形式:“名称”,     onChange :(值,调度,道具)=> {         setTimeout(()=> {           props.submit();         },0);     }   })(形成); 你的reduxForm是什么?