如何为DateTimePicker设置null

时间:2020-03-30 08:28:35

标签: react-native datetime react-native-android react-native-ios

我正在使用DateTimePicker(@react-native-community/datetimepicker)。

如何将null设置为DateTimePicker的默认值?

因为是第一次,DateTimePicker的值应该为null。当我将其设置为null时,得到以下错误:

永久违反:应将日期或时间指定为“值”。

gdb compile code

2 个答案:

答案 0 :(得分:1)

这篇文章已经有一年了,但我会回答以帮助其他程序员。

如果日期选择器未在页面中呈现,您可以将状态初始化为 null。您可能有一个状态或钩子会影响选择器的可见性。

const [pickerVis, setPickerVis] = useState(false);
const [date, setDate] = useState(null);

然后使用按钮/可按下/复选框/可触摸等,您可以使用:

onChange={() => { setDate(new Date()); setPickerVis(true)}}

然后最终在页面上进行条件渲染,如下所示:

{pickerVis === true && (<View><DateTimePicker
testID="dateTimePicker"
timeZoneOffsetInMinutes={0}
value={date}
mode='date'
is24Hour={true}
display="default"
onChange={onChange}
/> </View>)}

答案 1 :(得分:1)

您应该在 onChange 方法中验证您的日期是否为空

<DateTimePicker
        value={date}
        mode='date'
        onChange={(date) => {
            **if (date) setDate(date)** //This is your validation
            setShowDatePicker(false)
        }}
/>