我有一个 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>