如何让react-native-modal-datetime-picker直接显示日历而非底部模态框
解决方案
要直接打开日历视图而非先显示底部日期模态框,只需将DateTimePickerModal的display属性值从"default"改为"inline"即可。
修改后的完整代码:
import React, { useState } from "react"; import { Button, View } from "react-native"; import DateTimePickerModal from "react-native-modal-datetime-picker"; const Example = () => { const [isDatePickerVisible, setDatePickerVisibility] = useState(false); const showDatePicker = () => { setDatePickerVisibility(true); }; const hideDatePicker = () => { setDatePickerVisibility(false); }; const handleConfirm = (date) => { console.warn("A date has been picked: ", date); hideDatePicker(); }; return ( <View style={{justifyContent: 'center', alignItems: 'center', flex: 1, backgroundColor: 'pink'}}> <Button title="Show Date Picker" onPress={showDatePicker} /> <DateTimePickerModal isVisible={isDatePickerVisible} mode="date" onConfirm={handleConfirm} onCancel={hideDatePicker} display="inline" // 此处修改为inline /> </View> ); }; export default Example;
补充说明
display="inline"会让iOS端直接渲染完整日历视图,跳过初始的紧凑日期选择模态框,完全匹配你期望的样式。- Android端默认日期选择器样式本身就是日历类弹窗,无需额外调整该属性。
内容的提问来源于stack exchange,提问作者MouseWarrior
相关产品推荐
相关产品推荐

