1

当用户选择国家时,我有一个包含国家和州字段的地址表单,我想获取状态列表表单后端并更新状态选择框值列表。

我已经参考了下面的文章来创建表单。 https://medium.com/@nphivu414/build-a-multi-step-form-with-react-hooks-formik-yup-and-materialui-fa4f73545598 在此处输入图像描述

4

1 回答 1

0

首先,您可以设置如下初始值

const initialValues = {
    otherValues: '',
    address: {
        line_1: '',
        zip_code: '',
        city: '',
        state: '',
    },
};

然后基于此初始值,您可以启动如下状态:

const [initialAddress, updateInitialAddress] = useState(initialValues);

之后,在 UseEffect 中调用 API 获取地址,您可以像下面这样更新状态:

 //say your response set in "res" variable

 updateInitialAddress({
    otherValues: res.other_values,
    address: {
      line_1: res.line_1,
      zip_code: res.zip_code,
      city: res.city,
      state: res.state,
      },
  });

在formik中,您可以设置:

initialValues={initialAddress}

如果您的 Formik Select Dropdown 与您初始化的名称相同,那么它将在下拉列表中自动选择。

谢谢

于 2020-07-18T18:31:59.187 回答