Formik
是一个用于 React 的库,它简化了表单的状态管理和验证过程。React-native-datepicker
是一个用于 React Native 的日期选择组件,它允许用户在应用中选择日期。
以下是一个使用 Formik 和 React-native-datepicker 的示例:
import React from 'react';
import { View, Text } from 'react-native';
import { Formik } from 'formik';
import * as Yup from 'yup';
import DatePicker from 'react-native-datepicker';
const validationSchema = Yup.object().shape({
date: Yup.date().required('Date is required'),
});
const MyForm = () => (
<Formik
initialValues={{ date: '' }}
validationSchema={validationSchema}
onSubmit={(values) => {
console.log(values);
}}
>
{({ handleChange, handleBlur, handleSubmit, values, errors, touched }) => (
<View>
<Text>Date:</Text>
<DatePicker
style={{ width: 200 }}
date={values.date}
mode="date"
placeholder="select date"
format="YYYY-MM-DD"
minDate="2020-05-01"
maxDate="2020-06-01"
confirmBtnText="Confirm"
cancelBtnText="Cancel"
customStyles={{
dateIcon: {
position: 'absolute',
left: 0,
top: 4,
marginLeft: 0,
},
dateInput: {
marginLeft: 36,
},
}}
onDateChange={(date) => {
handleChange({ date });
}}
/>
{touched.date && errors.date ? <Text>{errors.date}</Text> : null}
<Button title="Submit" onPress={handleSubmit} />
</View>
)}
</Formik>
);
export default MyForm;
YYYY-MM-DD
格式。touched
和 errors
状态正确更新。通过以上方法,可以有效解决在使用 Formik 和 React-native-datepicker 时遇到的常见问题。
领取专属 10元无门槛券
手把手带您无忧上云