想要在不同的时间在 react formik 中呈现不同的值
Want to render different values at different time in react formik
如果我的 ID 为真,我想呈现一个值 如果 ID 为假,该值不应该存在,是否可以呈现什么值 formik
initialValues={{
id:currentBankData.id || '',
name: currentBankData.name || '',
address: currentBankData.address || '',
country: currentBankData.country || '',
region: currentBankData.region || '',
city: currentBankData.city || '',
swiftCode: currentBankData.swiftCode || '',
routeCode: currentBankData.routeCode || '',
//Example want to do something like this
if(Id){
imageBinairyData: currentBankData.image ||'' ,
}else{
image: currentBankData.image || '',
}
}}
我想你可以这样做:
<Form
initialValues={{
id:currentBankData.id || '',
name: currentBankData.name || '',
address: currentBankData.address || '',
country: currentBankData.country || '',
region: currentBankData.region || '',
city: currentBankData.city || '',
swiftCode: currentBankData.swiftCode || '',
routeCode: currentBankData.routeCode || '',
imageBinairyData: !Id ? undefined : currentBankData.image || '' ,
image: Id ? undefined : currentBankData.image || '',
}}
/>
或者您可以在传入之前简单地有条件地创建值:
render () {
const initialValues = {
id:currentBankData.id || '',
name: currentBankData.name || '',
address: currentBankData.address || '',
country: currentBankData.country || '',
region: currentBankData.region || '',
city: currentBankData.city || '',
swiftCode: currentBankData.swiftCode || '',
routeCode: currentBankData.routeCode || '',
};
if (Id) {
initialValues.imageBinairyData = currentBankData.image || '';
} else {
initialValues. image = currentBankData.image || '';
}
return <Form initialValues={initialValues} />
}
试试这个
//Example want to do something like this
[Id ? 'imageBinairyData' : 'image']: currentBankData.image || '',
所以你的代码可能看起来像
initialValues={{
id:currentBankData.id || '',
name: currentBankData.name || '',
address: currentBankData.address || '',
country: currentBankData.country || '',
region: currentBankData.region || '',
city: currentBankData.city || '',
swiftCode: currentBankData.swiftCode || '',
routeCode: currentBankData.routeCode || '',
[Id ? 'imageBinairyData' : 'image']: currentBankData.image || '',
}}
如果我的 ID 为真,我想呈现一个值 如果 ID 为假,该值不应该存在,是否可以呈现什么值 formik
initialValues={{
id:currentBankData.id || '',
name: currentBankData.name || '',
address: currentBankData.address || '',
country: currentBankData.country || '',
region: currentBankData.region || '',
city: currentBankData.city || '',
swiftCode: currentBankData.swiftCode || '',
routeCode: currentBankData.routeCode || '',
//Example want to do something like this
if(Id){
imageBinairyData: currentBankData.image ||'' ,
}else{
image: currentBankData.image || '',
}
}}
我想你可以这样做:
<Form
initialValues={{
id:currentBankData.id || '',
name: currentBankData.name || '',
address: currentBankData.address || '',
country: currentBankData.country || '',
region: currentBankData.region || '',
city: currentBankData.city || '',
swiftCode: currentBankData.swiftCode || '',
routeCode: currentBankData.routeCode || '',
imageBinairyData: !Id ? undefined : currentBankData.image || '' ,
image: Id ? undefined : currentBankData.image || '',
}}
/>
或者您可以在传入之前简单地有条件地创建值:
render () {
const initialValues = {
id:currentBankData.id || '',
name: currentBankData.name || '',
address: currentBankData.address || '',
country: currentBankData.country || '',
region: currentBankData.region || '',
city: currentBankData.city || '',
swiftCode: currentBankData.swiftCode || '',
routeCode: currentBankData.routeCode || '',
};
if (Id) {
initialValues.imageBinairyData = currentBankData.image || '';
} else {
initialValues. image = currentBankData.image || '';
}
return <Form initialValues={initialValues} />
}
试试这个
//Example want to do something like this
[Id ? 'imageBinairyData' : 'image']: currentBankData.image || '',
所以你的代码可能看起来像
initialValues={{
id:currentBankData.id || '',
name: currentBankData.name || '',
address: currentBankData.address || '',
country: currentBankData.country || '',
region: currentBankData.region || '',
city: currentBankData.city || '',
swiftCode: currentBankData.swiftCode || '',
routeCode: currentBankData.routeCode || '',
[Id ? 'imageBinairyData' : 'image']: currentBankData.image || '',
}}