@react-native-community/datetimepicker 显示弹出式选择器 2 次
@react-native-community/datetimepicker shows popup-picker 2 times
我在我的应用程序中使用@react-native-community/datetimepicker。这应该从日期选择器收集用户定义的日期,然后将其发送到数据库。但是,当我按下一个按钮并打开日期选择器时,日期选择器弹出窗口会出现两次。我选择一个日期,按确定,然后 window 关闭。然后仅仅几毫秒之后,一个新的日期选择器打开了。有人知道为什么会这样吗?
const onChange = (event, selectedDate) => {
var inputDate = selectedDate.toISOString()
var outputDate = inputDate.split("T")[0]
setSelectedDate(outputDate)
setDate(date)
setShow(false);
console.log(outputDate)
}
const showDatepicker = () => {
setShow(true)
}
...
<View>
<Button title="Choose date" onPress={showDatepicker} />
</View>
{show ? (
<DateTimePicker
value={date}
onChange={onChange}
mode={'date'}
display="default"
/>
) : (<View />)}
尝试以下可能有帮助的代码
const onChange = (event, selectedDate) => {
const inputDate = selectedDate.toISOString();
const outputDate = inputDate.split('T')[0];
setSelectedDate(outputDate);
setDate(outputDate);
};
React.useEffect(() => {
setShow(false);
}, [date]);
我在我的应用程序中使用@react-native-community/datetimepicker。这应该从日期选择器收集用户定义的日期,然后将其发送到数据库。但是,当我按下一个按钮并打开日期选择器时,日期选择器弹出窗口会出现两次。我选择一个日期,按确定,然后 window 关闭。然后仅仅几毫秒之后,一个新的日期选择器打开了。有人知道为什么会这样吗?
const onChange = (event, selectedDate) => {
var inputDate = selectedDate.toISOString()
var outputDate = inputDate.split("T")[0]
setSelectedDate(outputDate)
setDate(date)
setShow(false);
console.log(outputDate)
}
const showDatepicker = () => {
setShow(true)
}
...
<View>
<Button title="Choose date" onPress={showDatepicker} />
</View>
{show ? (
<DateTimePicker
value={date}
onChange={onChange}
mode={'date'}
display="default"
/>
) : (<View />)}
尝试以下可能有帮助的代码
const onChange = (event, selectedDate) => {
const inputDate = selectedDate.toISOString();
const outputDate = inputDate.split('T')[0];
setSelectedDate(outputDate);
setDate(outputDate);
};
React.useEffect(() => {
setShow(false);
}, [date]);