【发布时间】:2022-01-10 08:45:56
【问题描述】:
我在formik上遇到问题,当我在onValueChange中添加其他功能时,formik的handleChange无法正常工作。有没有针对这种情况的解决方案。它发生在我提交表单时没有任何价值。
表单提交结果:
pickup_region: ""
其他功能:
const HandleGetProvince = (id) => {
PickupAddress[0]['pickup_region'] = id
dispatch(ProvinceList(id));
}
Formik:
<Formik
initialValues={{
pickup_region: '',
}}
onSubmit={(values) => ProcessBookingBtn(values)}
>
{({ handleChange, handleBlur, handleSubmit, values, errors, touched }) => (
<View style={{ backgroundColor: 'white', borderColor: 'white', borderRadius: 20 }}>
<VStack space={1} p={5}>
<View>
<View style={{ flexDirection: 'row', flex: 1, flexWrap: 'wrap', alignItems: 'flex-start' }}>
<View style={{ width: '50%', padding: 3 }}>
<Text style={{ fontSize: 12, marginTop: 10 }}>Region</Text>
<Select
accessibilityLabel="Region"
placeholder="Region"
placeholderTextColor="#000"
color="#000"
mt={1}
name="pickup_region"
onValueChange={(itemValue) => {[handleChange('pickup_region'), HandleGetProvince(itemValue)] }}
>
{
regions && regions.data ? (
regions.data?.map((data, i) => {
return (
<Select.Item key={i} label={data.name} value={data.id.toString()} />
)
})
) : <Select.Item label="No Region Available" value="" />
}
</Select>
</View>
<View style={{ padding: 40 }}>
<TouchableOpacity onPress={handleSubmit}>
<Button type="submit" style={{ borderColor: '#FA0A0A', backgroundColor: '#FA0A0A' }}>
<Text style={{ color: 'white', fontWeight: 'bold' }}>Save</Text>
</Button>
</TouchableOpacity>
</View>
</View>
</VStack>
</View>
)}
</Formik>
【问题讨论】:
标签: reactjs react-native formik