【问题标题】:React Native datetimepicker question. In this code why Platform.OS==='ios'?true:false?React Native datetimepicker 问题。在这段代码中为什么 Platform.OS==='ios'?true:false?
【发布时间】:2020-05-11 01:25:09
【问题描述】:

状态的基本用法

import React, {Component} from 'react';
从'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;

    返回 (
      
        
          
        查看>
        
          
        查看>
        { 显示 && 
        }
      查看>
    );
  }
}

如果Platform.OS === true 用于ios,日期时间选择器窗口将始终显示并且不会永远关闭。 为什么要区别对待android和ios? 代码来自the official github,所以我猜它有一些正当的理由。

【问题讨论】:

    标签: react-native


    【解决方案1】:

    这只是因为您想在设备是IOS的情况下显示选择器。

    【讨论】:

      【解决方案2】:

      嗯,它们有两种完全不同的外观模式,以保持原生外观和感觉。 ios datetimepicker 是一个可以在视图中放置并保持打开的组件(由轮子制成),而 android 更像是一个弹出窗口,因此它必须在用户对其触发器进行操作时关闭和打开。

      希望它会有所帮助 问候! 马可

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-25
        • 2018-09-09
        相关资源
        最近更新 更多