Skip to content

Commit 14d20ab

Browse files
committed
docs: add example for multi
1 parent 6b3d89f commit 14d20ab

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

example/src/App.tsx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import {
2828
DatePickerModal,
2929
DatePickerModalContent,
3030
TimePickerModal,
31+
// @ts-ignore
3132
} from 'react-native-paper-dates';
3233
import { 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

Comments
 (0)