将表单设置为在重新初始化时被触摸

时间:2019-07-02 04:32:20

标签: node.js reactjs formik yup

因此,我尝试在表单中使用enableReinitialize = {true},以便在外部更改状态时,表单将更新值以匹配该状态所更改的内容。当状态从外部更改时,值已成功更改,但是,无法提交表单,因为即使该值被视为已更改,也无法将其识别为已更改/已触摸。如果我手动更改字段的值,它将允许我提交。如何明确将表单设置为可提交?

这是我当前的尝试,只是将1个字段设置为当字段更改时被触摸,以便允许我提交表单:(当前不提交表单)

.
.
.
 <PlacesAutocomplete
       value={this.state.fullAddress}
       onChange={ e => {
            props.setFieldTouched('address.line1', true, true);
            this.handleAddressChange();
         }}
        onSelect={this.handleSelect}
        >
.
.
.

我还在下面附上了我的用例。如您所见,如果用户搜索其地址并进行选择,则该表单将重新初始化其他地址输入,但是,在用户手动键入内容之前,该表单将不允许提交。我希望选择地址后有一种方法可以允许表单提交而不必编辑其他输入?

enter image description here

0 个答案:

没有答案