wake-up-neo.com

So beschränken Sie die Datumsauswahl in React native ios/Android datepicker

Ich möchte Benutzer daran hindern, bestimmte Daten basierend auf der Geschäftslogik in reaktiver ios/Android-Datumsauswahl auszuwählen. Momentan sehe ich im Dokument nur, dass ein Mindestdatum und ein Maximaldatum angegeben werden können. Gibt es einen Weg, um nur einen Teil (5, 6, 10, 12, 18) eines Monats einzugrenzen? 

Hinweis: Diese Daten sind nur ein Beispiel, das sich von Fall zu Fall ändern würde

10
Sam

Für IOS Beispiel

    <DatePickerIOS
      date={this.state.chosenDate}
      onDateChange={(date) => {
        if(isAllowedDate(date))  {
          this.setState({chosenDate: newDate})
        }
        else {
          this.setState({error:'you can not select this date ...'})
        }

      }}
    />

verwenden Sie react-native-datepicker module für iOS und Android. Legen Sie fest, ob das Datum gültig ist oder nicht

render(){
    return(
        ...
        <DatePicker
            mode="date"
            placeholder="select date"
            format="YYYY-MM-DD"
            onDateChange={this.saveDateIfValid}
        />
        ...
    )
}


saveDateIfValid = (date) =>
{
    if(date){
        let dateArray = data.split("-");
        let validDays = [5,6,10,12,18];
        let selectedDay = parseInt(dataArray[2]);
        if(validDays.indexOf(selectedDay) > -1){
            //date is valid
            this.setState({date : date});
            return;     //end the method
        }
    }

    //not valid
    this.setState({date : null});
}
1
Ali