J'utilise React Datepicker et tout fonctionne très bien.
Au lieu d'avoir "Su" "Mo" "Tu" etc. pour les jours de la semaine, j'aimerais utiliser quelque chose comme ceci:
const Calendar = ({dateFormat, startDate}) => (
<div className="my-calendar">
<DatePicker
inline
dateFormat={ dateFormat }
selected={ startDate }
/>
</div>
);
export default Calendar;
J'accomplis cela via css:
const ReservationCalendar = ({dateFormat, startDate}) => (
<Calendar
dateFormat={ dateFormat }
startDate={ startDate }/>
);
export default ReservationCalendar;
Cela semble fonctionner, mais semble aussi assez "hacky". Y a-t-il une option de configuration qui me manque quelque part et que je peux spécifier le ou les formats que je souhaite utiliser?
Merci pour vos suggestions!
ÉDITER
Voici comment j'essaie de transmettre le dateFormat à mon composant:
App.js
this.state = {
startDate: new Date(),
dateFormat: 'ddd'
};
...
render() {
...
<ReservationCalendar
dateFormat={ this.state.dateFormat }
startDate={ this.state.startDate }
/>
}
ReservationCalendar.js
.react-datepicker__day-name {
...
&:first-child {
&:after {
visibility: visible;
position: relative;
left: -0.5rem;
text-align: center;
content: "Sun";
}
}
}
DatePicker.js
"Sun" "Mon" "Tue"
Avec tout comme ça, j'obtiens toujours une vue comme je l'ai attachée. Peut-être que je ne passe pas quelque chose correctement. Merci encore pour votre temps!
4 Réponses :
Vous pouvez utiliser un accessoire appelé dateFormat pour formater la date en fonction de la sortie souhaitée. Pour obtenir les jours comme Sun Mon Tue , transmettez dateFormat="ddd" comme accessoire au composant. Comme de cette façon
<DatePicker
dateFormat="ddd"
onChange={this.handleChange} />
Merci pour votre suggestion. J'ai mis à jour ma question pour montrer comment je transmets les propriétés. J'ai essayé d'ajouter dateFormat mais pas de chance. Peut-être que je ne le passe pas correctement?
Vous pouvez utiliser l'attribut useWeekdaysShort de react-datepicker.
par exemple:
<DatePicker>
useWeekdaysShort={true}
</DatePicker>
Utilisation:
dateFormat={"EEEE"}
Ou:
dateFormat={"EEE"}