进阶 reactnative.dev 2026-10-11 06:04:21 · 28 阅读

第26章 DatePickerAndroid 组件移除说明及 React Native 社区替代方案

版本:0.77 ❌ DatePickerAndroid 已移除,请改用社区提供的其他包。 打开标准的 Android 日期选择器对话框。 示例​ React JSXtry {
const {action, year, month, day} = await DatePickerAndroid.open(
{
// 使用 `new Date()` 表示当前日期。
// 这里是 2020 年 5 月 25 日。月份从 0 开始,0 表示一月。
date: new Date(2020, 4, 25),
},
);
if (action !== DatePickerAndroid.dismissedAction) {
// 用户选中的年、月(0-11)、日
}
} catch ({code, message}) {
console.warn('Cannot open date picker', message);
}
参考 方法​ open()​ React JSXstatic open(options)
打开标准的 Android 日期选择器对话框。 options 对象支持的键如下: date(Date 对象或毫秒时间戳)—— 默认显示的日期 minDate(Date 对象或毫秒时间戳)—— 可选的最小日期 maxDate(Date 对象或毫秒时间戳)—— 可选的最大日期 mode(enum('calendar', 'spinner', 'default'))—— 设置日期选择器的模式:日历/转轮/默认 'calendar':以日历模式显示日期选择器。 'spinner':以转轮模式显示日期选择器。 'default':根据 Android 版本显示默认的原生日期选择器(转轮或日历)。 返回一个 Promise。如果用户选择了日期,resolve 的对象包含 action、year、month(0-11)和 day。如果用户取消了对话框,Promise 依然会 resolve,此时 action 为 DatePickerAndroid.dismissedAction,其余键均为 undefined。读取具体值之前,务必先检查 action 是否等于 DatePickerAndroid.dateSetAction。 注意:在 Android 4 及更低版本上,使用 minDate 和 maxDate 选项时,原生日期选择器对话框存在一些 UI 问题。 dateSetAction()​ React JSXstatic dateSetAction()
表示用户已选定一个日期。 dismissedAction()​ React JSXstatic dismissedAction()
表示对话框已被关闭。

评论 (0)