@@ -28,6 +28,7 @@ import {
2828 DatePickerModal ,
2929 DatePickerModalContent ,
3030 TimePickerModal ,
31+ // @ts -ignore
3132} from 'react-native-paper-dates' ;
3233import { addMonths } from '../../src/Date/dateUtils' ;
3334
@@ -59,6 +60,7 @@ function App({
5960 hour12 : false ,
6061 } ) ;
6162 const [ date , setDate ] = React . useState < Date | undefined > ( undefined ) ;
63+ const [ dates , setDates ] = React . useState < Date [ ] | undefined > ( ) ;
6264 const [ range , setRange ] = React . useState < {
6365 startDate : Date | undefined ;
6466 endDate : Date | undefined ;
@@ -77,6 +79,7 @@ function App({
7779 const onDismissTime = React . useCallback ( ( ) => {
7880 setTimeOpen ( false ) ;
7981 } , [ setTimeOpen ] ) ;
82+ const [ multiOpen , setMultiOpen ] = React . useState ( false ) ;
8083
8184 const onDismissRange = React . useCallback ( ( ) => {
8285 setRangeOpen ( false ) ;
@@ -90,6 +93,10 @@ function App({
9093 setSingleOpen ( false ) ;
9194 } , [ setSingleOpen ] ) ;
9295
96+ const onDismissMulti = React . useCallback ( ( ) => {
97+ setMultiOpen ( false ) ;
98+ } , [ ] ) ;
99+
93100 const onDismissCustom = React . useCallback ( ( ) => {
94101 setCustomOpen ( false ) ;
95102 } , [ setCustomOpen ] ) ;
@@ -118,6 +125,12 @@ function App({
118125 [ setSingleOpen , setDate ]
119126 ) ;
120127
128+ const onChangeMulti = React . useCallback ( ( params ) => {
129+ setMultiOpen ( false ) ;
130+ setDates ( params . dates ) ;
131+ console . log ( '[on-change-multi]' , params ) ;
132+ } , [ ] ) ;
133+
121134 const onConfirmTime = React . useCallback (
122135 ( { hours, minutes } ) => {
123136 setTimeOpen ( false ) ;
@@ -238,6 +251,14 @@ function App({
238251 >
239252 Pick single date
240253 </ Button >
254+ < Button
255+ onPress = { ( ) => setMultiOpen ( true ) }
256+ uppercase = { false }
257+ mode = "outlined"
258+ style = { styles . pickButton }
259+ >
260+ Pick Multi date
261+ </ Button >
241262 < View style = { styles . buttonSeparator } />
242263 < Button
243264 onPress = { ( ) => setRangeOpen ( true ) }
@@ -339,6 +360,19 @@ function App({
339360 // animationType="slide" // optional, default is 'slide' on ios/android and 'none' on web
340361 />
341362
363+ < DatePickerModal
364+ // locale={'en'} optional, default: automatic
365+ mode = "multi"
366+ visible = { multiOpen }
367+ onDismiss = { onDismissMulti }
368+ dates = { dates }
369+ onConfirm = { onChangeMulti }
370+ // onChange={onChangeMulti}
371+ // saveLabel="Save" // optional
372+ // label="Select date" // optional
373+ // animationType="slide" // optional, default is 'slide' on ios/android and 'none' on web
374+ />
375+
342376 < TimePickerModal
343377 locale = { 'nl' } //optional, default: automatic
344378 visible = { timeOpen }
0 commit comments