文档提供了一个示例:
try {
const {action, year, month, day} = await DatePickerAndroid.open({
// Use `new Date()` for current date.
// May 25 2020. Month 0 is January.
date: new Date(2020, 4, 25)
});
if (action !== DatePickerAndroid.dismissedAction) {
// Selected year, month (0-11), day
}
} catch ({code, message}) {
console.warn('Cannot open date picker', message);
}
但我不清楚我究竟应该在哪里/如何渲染。我把try块放在ComponentDidMount生命周期方法中,但是我得到一个错误“await是一个保留字”。当我删除'await'这个词时,我收到了一个新错误:'不能将一个类称为一个函数'。
目前,我只是在里面返回一个带有DatePickerAndroid的View。
答案 0 :(得分:2)
我的大脑显然今天没有工作。为了使用它,我刚刚创建了一个TouchableOpacity组件,它触发了一个自定义方法" openUpPicker"其中包含来自文档的示例try块。
openUpPicker() {
try {
const {action, year, month, day} = DatePickerAndroid.open({
// Use `new Date()` for current date.
// May 25 2020. Month 0 is January.
date: new Date(2020, 4, 25)
});
if (action !== DatePickerAndroid.dismissedAction) {
// Selected year, month (0-11), day
}
} catch ({code, message}) {
console.warn('Cannot open date picker', message);
}
}
touchableopacity组件很简单:
<TouchableOpacity
onPress={()=>this.openUpPicker()}
>
<Text>hello</Text>
</TouchableOpacity>
答案 1 :(得分:1)
VK1的示例对我有用(再次10倍!),只是我必须使用async / await才能获取所选的日期,否则年份,月份等均未定义:
异步 openUpPicker(类型)...
然后
const {操作,年,月,日} = 等待 DatePickerAndroid.open({....
答案 2 :(得分:0)
另外,请查看此datepicker组件https://www.npmjs.com/package/react-native-datepicker