web-dev-qa-db-fra.com

React Datepicker exclut les dates passées

J'utilise cette lib dans mon application:

https://reactdatepicker.com/

Il y a un accessoire excludeDates que je peux utiliser, où je peux passer une liste de dates aka cela exclurait aujourd'hui et hier:

excludeDates={[moment(), moment().subtract(1, "days")]}

Je préférerais avoir un meilleur moyen que de passer quelques centaines de dates dans ce tableau.

Merci!

8
penguinsource

Vous pouvez peut-être utiliser le composant comme ça:

<DatePicker
  selected={this.state.startDate}
  onChange={this.handleChange}
  minDate={moment().toDate()}
  placeholderText="Select a day"
/>

Vous pouvez utiliser les accessoires minDate et maxDate pour sélectionner une plage unique de dates sélectionnables.

13
benjamin Rampon
<DatePicker
selected={this.state.startDate}
onChange={this.handleChange}
minDate={new Date()}
/>

Les choses sont un peu plus simplifiées maintenant. Selon officiel https://reactdatepicker.com/

on peut aussi utiliser

  maxDate={addDays(new Date(), 5)} // 5 is number of days from today
1
Mbanda

Utilisez l'extrait de code suivant dans votre code:

<DatePicker
    selected={new Date()}
    onChange={date => handleDateChange(date, field)}
    minDate={moment().toDate()}
/>
0
Shantanu Tripathi

Vous pouvez utiliser la propriété "disablePast" dans votre datepicker, cela désactivera vos dates passées dans react datepicker, comme le code ci-dessous

<DatePicker
              selected={this.state.startDate}
              onChange={this.handleChange}
              disablePast
              placeholderText="Select a day"
            />
0
SATISH RAJNALE