У меня есть форма Formik, включая начальное значение descriptions
(инициализированное как пустой массив), в котором я хотел бы сохранить возможные результаты текстового поля.
Текстовые поля должны быть только созданный по принципу ad ho c, путем изменения значения соответствующего флажка: пользователь устанавливает флажок для «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>