我正在使用DateTimePicker(@react-native-community/datetimepicker)。
如何将null设置为DateTimePicker的默认值?
因为是第一次,DateTimePicker的值应该为null。当我将其设置为null时,得到以下错误:
永久违反:应将日期或时间指定为“值”。
gdb compile code
答案 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)
}}
/>