8

Tôi muốn hạn chế người dùng chọn ngày cụ thể dựa trên logic nghiệp vụ trong bộ chọn ngày ios/android gốc phản ứng. Hiện tại trong tài liệu tôi chỉ thấy rằng ngày tháng và ngày tối đa có thể được cung cấp. Vì vậy, có một cách để chỉ giới hạn cho phép nói (5, 6, 10, 12, 18) của một tháng?Làm thế nào để hạn chế lựa chọn ngày trong React native ios/dateo ngày tháng

Lưu ý: những ngày này chỉ là một ví dụ sẽ thay đổi từ một từng trường hợp kịch bản

+0

Không thể thực hiện với trình theo dõi ngày giờ iOS/android gốc mặc định và bạn cần phải tạo bộ chọn tùy chỉnh cho chính mình. –

Trả lời

5

Đối với IOS dụ

<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

Xin chào @Sam nếu câu trả lời này hoặc câu trả lời nào đã giải quyết được câu hỏi của bạn, vui lòng xem xét [chấp nhận câu hỏi] (https://meta.stackexchange.com/q/5234/179419) bằng cách nhấp vào dấu kiểm. Điều này cho thấy cộng đồng rộng lớn hơn mà bạn đã tìm thấy giải pháp và mang lại một số danh tiếng cho cả câu trả lời và chính bạn. Không có nghĩa vụ phải làm điều này. – chridam

1

sử dụng react-native-datepicker mô-đun dành cho iOS và Android, thiết lập một để kiểm tra xem ngày có hợp lệ hay không

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}); 
} 
Các vấn đề liên quan