0

我有一个 Formik 表单,包括一个名为descriptions(初始化为空数组)的初始值,我想在其中存储可能的文本字段结果。

文本字段只需要通过更改匹配复选框的值来临时创建:用户选中“X Data”框,并且除了选中该框外,还会呈现关联的字段。我有这部分工作。

我遇到的问题是新渲染的输入没有命名!我假设我需要将其命名为descriptions[x_data]. 这个对吗?我怎样才能让它工作?这是我迄今为止工作的代码的精简版本。

const sectionList = [
  {name: "x_data", label: "X Data"}, 
  {name: "y_data", label: "Y Data"}, 
]

...

<div>
  {sectionList.map(({ name, label }, index) => {
    return (
      <div key={index}>
        <Field component={MyCheckbox} name="sectionChoices" value={label} label={label} />
        {values.sectionChoices.indexOf(label) > -1 && (
          <Field
            component={TextField}
            fullWidth
            variant="outlined"
            name={`descriptions[${name}]`}.  // doesn't seem to work :-(
            label={'Description of ' + label}
          />
        )}
     </div>
    )
  })}
</div>
4

0 回答 0