Redux-form - onChange表单上没有触发

时间:2018-03-29 14:38:18

标签: reactjs redux redux-form

我使用redux-form作为服务器过滤器时遇到问题。表格的目的是在每个字段更改发送请求到服务器时使用实际表单值来过滤表中的数据。

我尝试将 onChange事件附加到“form”,然后在onChanged事件中调用handleSubmit。 直到我将其与我的自定义字段组件一起使用

当onChanged与自定义组件一起使用时,不会触发表单onChange事件。仅在正常字段“输入”编辑时才会触发。

这个错误吗?在完成任何字段更改后是否有其他方式提交表单?我尝试使用formValueSelector进行表单,但是每次重新呈现时比较表单的值都不是最佳的。

示例在这里https://codesandbox.io/s/98z3kjk12y

1 个答案:

答案 0 :(得分:1)

问题出在自定义组件中,即它是div - 不是具有onchange事件的元素。老实说,formonChange事件对我来说是新的,但是当触发任何带有onchange事件的表单的子元素时,它似乎被触发了。

如果您尝试替换MyStrangeInput div元素,例如<input type="text"> onFormChange将被解雇。

作为非常非常非常脏的解决方法,您可以使用按钮样式自定义复选框,以便onFormChange触发(因为checkbox onchange事件)。 < / p>

不幸的是(或幸运的是?)redux-form没有handleChange道具,因此我认为这里最明确的解决方案是在每个表单的字段更改时调用onFormChange。< / p>

  

Updated example