8

ネイティブios /アンドロイドの日付ピッカーに対応するビジネスロジックに基づいて、特定の日付の選択をユーザーに制限したいと考えています。現在の文書では、最小の日付と最大の日付を提供できることがわかります。 1ヶ月のうち、(5,6,10,12,18)と言うように制限する方法はありますか?Reactネイティブios/andoird datepickerの日付選択を制限する方法

注:これらの日付は一例でありiOSとAndroid用のIOS例えばケースのシナリオ

+0

デフォルトのネイティブiOS/Androidデートピッカーでは不可能で、自分でカスタムピッカーを作成する必要があります。 –

答えて

5

にケースから変更します

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

 
     }} 
 
    />

+0

こんにちは@Samあなたの質問が解決した場合は、チェックマークをクリックして[受諾する](https://meta.stackexchange.com/q/5234/179419)と考えてください。これは、あなたが解決策を見つけたことを広範なコミュニティに示し、回答者とあなた自身の両方にいくつかの評判を与えます。これを行う義務はありません。 – chridam

1

使用react-native-datepickerモジュール、セット日付が有効かどうかをチェックする方法

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}); 
} 
関連する問題