由于react-native中的设计,DatePickerIOS无法正常工作

时间:2018-04-14 11:35:55

标签: reactjs react-native

我遇到的问题是,当我从DatePickerIOS选择日期时,它允许我选择月份,但当我滚动dateyear时,它不允许我选择/滚动它是由于由于宽度问题。代码如下:

<View style={{flex:1}}>
   <TouchableOpacity 
       activeOpacity={0.8} 
       onPress={this._selectFromDate}
       style={s.flex_direction_row}
   >
        <Text style={s.detail_txtinput_drpdown}>
           {this.state.from_d}
        </Text>
        <Icon style={s.calendar_icon} name="md-calendar" size={33} color="#00796b"/>
   </TouchableOpacity>
   {
        this.state.showFromDatePicker ?
           <DatePickerIOS
              date={this.state.from_date}
              onDateChange={(from_date)=>this._onFromDateChange(from_date)}
              mode="date"
           />
        :
          null
   }
</View>

当我使用flex:1时,它看起来如下:

https://i.stack.imgur.com/PS7fp.png

当我删除flex:1时,它看起来如下:

https://i.stack.imgur.com/5oktw.png

在第二张图片中,我可以选择/滚动month(April),但我无法选择/滚动dateyear。 任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:4)

我只是更改DatePickerIOS View的位置我将其从<TouchableOpacity>&#39; s View中移除并将其放入主<View><View style={{flex:1}}>之后。它解决了我的问题。

<View style={{flex:1}}>
    <TouchableOpacity 
        activeOpacity={0.8} 
        onPress={this._selectFromDate}
        style={s.flex_direction_row}
     >
        <Text style={s.detail_txtinput_drpdown}>
           {this.state.from_d}
        </Text>
        <Icon style={s.calendar_icon} name="md-calendar" size={33} color="#00796b"/>
   </TouchableOpacity>
</View>
<View style={{justifyContent: 'center'}}>
  {
    this.state.showFromDatePicker ?
       <DatePickerIOS
          date={this.state.from_date}
          onDateChange={(from_date)=>this._onFromDateChange(from_date)}
          mode="date"
       />
    :
      null
  }
</View>