javascript - @react-native-community/datetimepicker 显示弹出选择器 2 次
问题描述
我在我的应用程序中使用@react-native-community/datetimepicker。这应该从日期选择器收集用户定义的日期,然后将其发送到数据库。但是,当我按下按钮并打开日期选择器时,日期选择器弹出窗口会显示两次。我选择一个日期,按确定,然后窗口关闭。然后仅仅几毫秒之后,一个新的日期选择器打开了。有谁知道为什么会这样?
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]);
推荐阅读
- android - DeepSpeechDemo 应用程序可与 Gradle cli 一起使用,但在使用 Android Studio 构建时会崩溃
- firebase - Flutter Firestore 从 Geopoint 获取数组 >> “GeoPoint”实例 <<
- php - Laravel/PHPUnit 连接到 Docker 测试数据库
- java - Keycloak - 将客户端 IP 地址添加到 JWT 令牌的最佳/最简单方法?
- docker - 设计和架构解决方案以打破单一的“非基于 Web 的本地主机应用程序”
- root-framework - 如何在终端中绘制一个 TH1F 而不在 ROOT 中打开 TBrowser?
- typescript - Typescript泛型使用类构造函数,在工厂函数内扩展另一个具有静态属性的类
- django - Django:如何在同一个相关字段上制作多个过滤器?
- mysql - 联合所有查询的Mysql查询优化
- windows - 在powershell中设置对象的多个属性