import{ useState }from'react';import{Host,DatePicker}from'@expo/ui/swift-ui';exportdefaultfunctionDatePickerExample(){const[selectedDate, setSelectedDate]=useState(newDate());return(<HostmatchContents><DatePickertitle="Select a date"selection={selectedDate}displayedComponents={['date']}onDateChange={date =>{setSelectedDate(date);}}/></Host>);}
Time picker
TimePickerExample.tsx
import{ useState }from'react';import{Host,DatePicker}from'@expo/ui/swift-ui';exportdefaultfunctionTimePickerExample(){const[selectedDate, setSelectedDate]=useState(newDate());return(<HostmatchContents><DatePickertitle="Select a time"selection={selectedDate}displayedComponents={['hourAndMinute']}onDateChange={date =>{setSelectedDate(date);}}/></Host>);}
Date and time picker
DateTimePickerExample.tsx
import{ useState }from'react';import{Host,DatePicker}from'@expo/ui/swift-ui';exportdefaultfunctionDateTimePickerExample(){const[selectedDate, setSelectedDate]=useState(newDate());return(<HostmatchContents><DatePickertitle="Select date and time"selection={selectedDate}displayedComponents={['date','hourAndMinute']}onDateChange={date =>{setSelectedDate(date);}}/></Host>);}
With date range
DateRangePickerExample.tsx
import{ useState }from'react';import{Host,DatePicker}from'@expo/ui/swift-ui';exportdefaultfunctionDateRangePickerExample(){const[selectedDate, setSelectedDate]=useState(newDate());return(<HostmatchContents><DatePickertitle="Select a date"selection={selectedDate}displayedComponents={['date']}range={{
start:newDate(2024,0,1),
end:newDate(2024,11,31),}}onDateChange={date =>{setSelectedDate(date);}}/></Host>);}
Styling with modifiers
You can use the datePickerStyle modifier to change the appearance of the picker. Available styles are: automatic, compact, graphical, and wheel.
WheelDatePickerExample.tsx
import{ useState }from'react';import{Host,DatePicker}from'@expo/ui/swift-ui';import{ datePickerStyle }from'@expo/ui/swift-ui/modifiers';exportdefaultfunctionWheelDatePickerExample(){const[selectedDate, setSelectedDate]=useState(newDate());return(<HostmatchContents><DatePickermodifiers={[datePickerStyle('wheel')]}title="Select a date"selection={selectedDate}displayedComponents={['date']}onDateChange={date =>{setSelectedDate(date);}}/></Host>);}
GraphicalDatePickerExample.tsx
import{ useState }from'react';import{Host,DatePicker}from'@expo/ui/swift-ui';import{ datePickerStyle }from'@expo/ui/swift-ui/modifiers';exportdefaultfunctionGraphicalDatePickerExample(){const[selectedDate, setSelectedDate]=useState(newDate());return(<HostmatchContents><DatePickermodifiers={[datePickerStyle('graphical')]}title="Select a date"selection={selectedDate}displayedComponents={['date']}onDateChange={date =>{setSelectedDate(date);}}/></Host>);}
Disabled picker
You can make the picker non-interactive using the disabled modifier.
DisabledDatePickerExample.tsx
import{ useState }from'react';import{Host,DatePicker}from'@expo/ui/swift-ui';import{ disabled }from'@expo/ui/swift-ui/modifiers';exportdefaultfunctionDisabledDatePickerExample(){const[selectedDate, setSelectedDate]=useState(newDate());return(<HostmatchContents><DatePickertitle="Select a date"selection={selectedDate}displayedComponents={['date']}onDateChange={date =>{setSelectedDate(date);}}modifiers={[disabled()]}/></Host>);}
Custom locale
Apply the environment modifier with the locale key to display the picker in a specific locale.
LocaleDatePickerExample.tsx
import{ useState }from'react';import{Host,DatePicker}from'@expo/ui/swift-ui';import{ environment }from'@expo/ui/swift-ui/modifiers';exportdefaultfunctionLocaleDatePickerExample(){const[selectedDate, setSelectedDate]=useState(newDate());return(<HostmatchContents><DatePickertitle="Sélectionner la date"selection={selectedDate}displayedComponents={['date']}onDateChange={date =>{setSelectedDate(date);}}modifiers={[environment('locale','fr_FR')]}/></Host>);}
Custom time zone
Apply the environment modifier with the timeZone key to display the picker in a specific IANA time zone.