react-native - React Native datetimepicker 问题。在这段代码中为什么 Platform.OS==='ios'?true:false?
问题描述
状态的基本用法
从“反应”导入反应,{组件}; 从'react-native'导入{View,Button,Platform}; 从“@react-native-community/datetimepicker”导入 DateTimePicker; 导出默认类 App 扩展组件 { 状态 = { 日期:新日期('2020-06-12T14:42:42'), 模式:'日期', 显示:假, } setDate = (事件,日期) => { 日期 = 日期 || this.state.date; 这个.setState({ 显示:Platform.OS === 'ios' ?true : false, // *问题:为什么 ios 为 true? 日期, }); } 显示 = 模式 => { 这个.setState({ 显示:真实, 模式, }); } 日期选择器 = () => { this.show('日期'); } 时间选择器 = () => { this.show('时间'); } 使成为() { 常量 { 显示,日期,模式 } = this.state; 返回 ( <查看> <查看> <Button onPress={this.datepicker} title="显示日期选择器!" /> </查看> <查看> <Button onPress={this.timepicker} title="显示时间选择器!" /> </查看> { 显示 && <DateTimePicker 值={日期} 模式={模式} is24Hour={真} 显示=“默认” onChange={this.setDate} /> } </查看> ); } }
如果Platform.OS === true
是 ios,datetimepicker 窗口将始终显示并且不会永远关闭。为什么要区别对待android和ios?代码来自官方 github,所以我想它有一些正当的理由。
解决方案
好吧,他们有两种完全不同的外观模式来坚持原生的外观和感觉。ios datetimepicker 是一个可以在视图中放置并保持打开的组件(由轮子制成),而 android 更像是一个弹出窗口,因此它必须仅在用户对其触发器进行操作时关闭和打开。
希望它会有所帮助问候!马可
推荐阅读
- .htaccess - 使用 .htaccess 重定向到页面
- python - 如何在 Scipy 中移动图像?
- jenkins - Jenkins 角色策略插件和多分支管道
- javascript - 为什么将样式添加到所有对象,而不是选定对象
- python - 将空列表保留在同一索引中,同时展平列表 ot 列表(嵌套列表)
- amazon-cloudwatch - 扩展 Fargate 服务任务以匹配 CloudWatch 指标
- deployment - Prisma 部署后问题
- python-3.x - 在 macOS 上安装 pwntools
- android - 用于后台应用统计的 Android API?
- java - 选择一个微调器会更新另一个微调器的适配器。我可以以编程方式选择两个微调器吗?