MUI DatePicker n'est pas compatible avec Formik : date.isBefore n'est pas disponible
P粉046387133
P粉046387133 2023-08-25 08:54:13
0
1
685
<p>J'utilise Formik pour créer un formulaire dans React et j'utilise également des composants MUI.Le problème est que j'obtiens l'erreur suivante : </p> <pre class="brush:php;toolbar:false;">date.isBefore n'est pas une fonction TypeError : date.isBefore n'est pas une fonction sur DayjsUtils.isBeforeDay (http://localhost:3000/static/js/bundle.js:2319:19) à validateDate (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:10596:43) sur useValidation (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:10654:27) sur usePickerValue (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:10019:75) sur usePicker (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:9876:94) sur useDesktopPicker (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:7848:60) sur DesktopDatePicker (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:3956:90) sur renderWithHooks (http://localhost:3000/static/js/bundle.js:103306:22) sur updateForwardRef (http://localhost:3000/static/js/bundle.js:105877:24) àbeginWork (http://localhost:3000/static/js/bundle.js:107924:20)</pre> <p>Voici mon code : </p> <pre class="brush:php;toolbar:false;"><Formik onSubmit={handleFormSubmit} initialValues={initialValuesProject} validationSchema={projectSchema} > {({ valeurs, handleChange, handleSubmit, setFieldValue }) => <form onSubmit={handleSubmit}> <Largeur de la boîte ="50%"> <LocalizationProvider dateAdapter={AdapterDayjs}> <Sélecteur de dates id="project_start" name="project_start" valeur={values.project_start} slotProps={{ champ de texte: { taille : "petit", marge : "dense", }, }} /> <Sélecteur de dates id="project_end" name="fin_projet" valeur={values.project_end} slotProps={{ textField : { taille : "petite", marge : "dense" }, }} /> </Provider de localisation> ≪/Boîte> </formulaire> )}≪/Formik>≪/pre> <p>Voici le mode et les valeurs initiales : </p> <pre class="brush:php;toolbar:false;">const projectSchema = yup.object().shape({ project_start : ouais.date(), project_end : ouais.date(), nom_du projet : yup.string().required("required"), userId : ouais.string(), ID partenaire : ouais.string(), CategoryId : ouais.string(), }); const initialValuesProject = { projet_start : Date.now(), projet_end : Date.now(), nom_projet : "", identifiant utilisateur : "", ID partenaire : "", ID de catégorie : "", };</pré> <p>Un grand merci à tous ceux qui pourront m'aider <3</p> <p>Être capable de faire fonctionner le sélecteur de date</p>
P粉046387133
P粉046387133

répondre à tous(1)
P粉449281068

On dirait que le problème est là :

project_start: Date.now(),
project_end: Date.now(),

Le type de project_start et project_end doit être Dayjs :

import dayjs, { Dayjs } from 'dayjs';

const initialValuesProject = {
  project_start: dayjs(Date.now()),
  project_end: dayjs(Date.now()),
  project_name: "",
  usersId: "",
  partnerId: "",
  categoryId: "",
};
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal