react-native-best-wheel-datepicker
Version:
React native cross platform iOS-style picker and datepicker.
50 lines (41 loc) • 1.04 kB
JavaScript
import React, { PureComponent } from 'react';
import { DatePickerIOS } from 'react-native';
import PropTypes from 'prop-types';
export default class DatePicker extends PureComponent {
static propTypes = {
date: PropTypes.instanceOf(Date).isRequired,
maximumDate: PropTypes.instanceOf(Date),
minimumDate: PropTypes.instanceOf(Date),
mode: PropTypes.oneOf(['date', 'time', 'datetime']),
onDateChange: PropTypes.func.isRequired,
};
static defaultProps = {
mode: 'date',
date: new Date(),
};
state = {
date: null,
};
onDateChange = (date) => {
this.setState({ date });
this.props.onDateChange(date);
};
UNSAFE_componentWillMount() {
this.setState({ date: this.props.date });
}
UNSAFE_componentWillReceiveProps({ date }) {
this.setState({ date });
}
render() {
return (
<DatePickerIOS
{...this.props}
onDateChange={this.onDateChange}
date={this.state.date}
/>
);
}
getValue() {
return this.state.date;
}
}