You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

50 lines
1.5 KiB

import {
Platform,
NativeModules,
NativeAppEventEmitter,
DatePickerIOS,
Text,
requireNativeComponent,
ViewPropTypes,
StyleSheet,
} from 'react-native';
import React, { Component } from 'react'
import PropTypes from 'prop-types';
import { DatePicker } from 'react-native-date-picker-x';
const ios = Platform.OS === 'ios';
const NativeDatePicker = requireNativeComponent(`DatePickerManager`, DatePickerAndroid, { nativeOnly: { onChange: true } });
class DatePickerAndroid extends React.Component {
_onChange = e => this.props.onDateChange(new Date(parseInt(e.nativeEvent.date)));
_maximumDate = () => this.props.maximumDate && this.props.maximumDate.getTime();
_minimumDate = () => this.props.minimumDate && this.props.minimumDate.getTime();
render = () => (
<NativeDatePicker
{...this.props }
date={this.props.date.getTime()}
minimumDate={this._minimumDate()}
maximumDate={this._maximumDate()}
onChange={this._onChange}
style={[styles.picker, this.props.style]}
/>
)
}
class DatePickerIOSWithSize extends React.Component {
render = () => <DatePickerIOS {...this.props} style={[styles.picker, this.props.style]} />
}
const styles = StyleSheet.create({
picker: {
width: 310,
height: 180,
}
})
DatePickerAndroid.propTypes = DatePickerIOS.propTypes;
export default ios ? DatePickerIOSWithSize : DatePickerAndroid;