是否有一些方法,每次处理数据更改,我选择新的一天,一个月或一年? 我使用react-native-modal-datetime-picker。 这里的解决方案不是我需要的Get selected date from ReactNative-DatePickerAndroid。
答案 0 :(得分:1)
来自ReactNative-DatePickerAndroid docs:
静态打开[选项]
返回一个Promise,它将调用一个包含action的对象, 年,月(0-11),用户选择日期的日期
由于ReactNative-DatePickerAndroid在您选择日期后返回一个承诺,您可以使用。所以,
DatePickerAndroid.open({...config})
.then(function (date) {
if (date.action !== DatePickerAndroid.dismissedAction) {
var newDate = new Date(date.year, date.month, date.day);
console.log('selected date is: ', newDate)
}
});
答案 1 :(得分:1)
react-native-modal-datetime-picker 适用于 Android 和 iOS 并每次获取所选日期
DatePickerModal
onConfirm - 一旦从选择器中选择了日期,就可以在此获取所选日期并对其进行修改。
要关闭日历,请在 onCancel 中隐藏选择器
可以使用 moment 格式化所选日期
setFormattedDate(moment(sdate).format('yyyy-MM-DDT13:00:00.000Z'))
const showDatePicker = () => {
setDatePickerVisibility(true);
};
const hideDatePicker = () => {
setDatePickerVisibility(false);
};
const handleConfirm = (date) => {
hideDatePicker();
var currentMonth = date.getMonth() + 1;
var currentDate = date.getDate();
if (currentMonth < 10) { currentMonth = '0' + currentMonth; }
if (currentDate < 10) { currentDate = '0' + currentDate; }
let sdate = date.getFullYear()+"-" +currentMonth + "-" + currentDate ;
setDate(sdate)
};
<DateTimePickerModal
style={{ width: 300, alignSelf: "center" }}
isVisible={isDatePickerVisible}
mode="date"
minimumDate={new Date()}
onConfirm={handleConfirm}
onCancel={hideDatePicker}
/>
详细说明和完整代码 - https://github.com/ritzblogs/reactnative-datetimepicker