我试图通过将初始值传递为
来为Formik表单中的字段设置值 <Formik
render={()=> (
<Form
{...props}
fields={this.props.fields || []}
....other values
/>
)}
initialValues={this.getInitValue()}
enableReinitialize={true}
/>
);
getInitValue = (): {} => {
const value = {};
if (this.props.fields) {
this.props.fields.forEach((data: IFormData) => {
value[data.name] = this.props.values[data.name];
});
}
return { ...value };
}
,但是问题是没有为选择fieldType设置初始值。永远都可以。这是一个在fields数组中正常工作的项目,可以很好地工作。
{
fieldType: 'input',
id: 'name',
label: 'Enter Name',
name: 'name',
type: 'Text',
},
现在在字段列表中选择一个字段
{
fieldType: 'select',
id: 'age',
name: 'age',
label: 'Age',
type: 'Text',
list: ageArray,
}