[英]How to clear one value in initialValues for redux-form?
我的redux表单上有两个字段field_A和field_B。 这两个都是选择字段。 选择field_A之后,redux表单的initialValues将填充field_A的值,并加载field_B的选项供用户选择。 用户选择field_B之后,我的redux表单的initialValues将填充Field_B的值。
如果现在更改field_A,则将加载field_B的新选项供用户选择。 在UI上,field_B的值将清除,但initialValue仍具有field_B的值。 用户将能够提交此表单,而不会收到“必填”验证错误。 他们将field_A和field_B的不匹配组合发送到后端。
当我在选择field_A时执行onChange时,我想将field_B的值清除回undefined,以便用户无法提交表单,直到他们重新选择field_B的值为止。 我怎样才能做到这一点? 我尝试使用以下链接的文档,但也许我滥用了变更功能。 也许更改功能甚至不是解决方案。
我尝试了this.props.change(“ field_B”,undefined),但这没有更改initialValues.field_B的值。
我也尝试过this.props.initialValues.change(“ field_B”,undefined),但是此调用出错。
我找到的解决方案是:
import { change } from 'redux-form'; export const clearFormName = (reduxFormName, filingFormName, value) => { return function (dispatch) { dispatch(change(reduxFormName, filingFormName, value)); }; };
我无法直接在表单上调用change函数,因此我创建了一个动作,并在field_A更改时在onChange期间调用了我的动作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.