React native 反应本机日期时间选择器选择

React native 反应本机日期时间选择器选择,react-native,datetimepicker,React Native,Datetimepicker,我需要一些帮助。 我使用包@react native community/datetimepicker的方式如下: { 这个.setDateTimeS(datetime); }} /> 选择一个日期 这很酷,但当我选择日期时,我希望它取代文本“选择日期”(仅当选择日期时) 你能帮我做那件事吗?谢谢:)可以有条件地问吗?试着这样做: <View> <DatePicker date={this.state.datetimeS} mode="date

我需要一些帮助。 我使用包@react native community/datetimepicker的方式如下:


{
这个.setDateTimeS(datetime);
}}
/>
选择一个日期

这很酷,但当我选择日期时,我希望它取代文本“选择日期”(仅当选择日期时)


你能帮我做那件事吗?谢谢:)

可以有条件地问吗?试着这样做:

<View>
    <DatePicker
     date={this.state.datetimeS}
     mode="datetime"
     format="YYYY-MM-DD HH:mm"
     confirmBtnText="Confirm"
     cancelBtnText="Cancel"
     hideText={true}
     showIcon={true}
     onChange={(datetime) => {
     this.setDateTimeS(datetime);
      }}
     />

  {this.state.datetimeS == null ? <Text style={styles.textsmall}>Select a date
 </Text> : <Text> {this.state.datetimeS} </Text> } 

</View>
 state={ datetimeS: ""} 
然后你可以这样检查它:

    {this.state.datetimeS.trim() == "" ? <Text style={styles.textsmall}>Select a date
 </Text> : <Text> {this.state.datetimeS} </Text> } 
{this.state.datetimeS.trim()==“”?选择一个日期
:{this.state.datetimeS}

是否可以有条件地提问?试着这样做:

<View>
    <DatePicker
     date={this.state.datetimeS}
     mode="datetime"
     format="YYYY-MM-DD HH:mm"
     confirmBtnText="Confirm"
     cancelBtnText="Cancel"
     hideText={true}
     showIcon={true}
     onChange={(datetime) => {
     this.setDateTimeS(datetime);
      }}
     />

  {this.state.datetimeS == null ? <Text style={styles.textsmall}>Select a date
 </Text> : <Text> {this.state.datetimeS} </Text> } 

</View>
 state={ datetimeS: ""} 
然后你可以这样检查它:

    {this.state.datetimeS.trim() == "" ? <Text style={styles.textsmall}>Select a date
 </Text> : <Text> {this.state.datetimeS} </Text> } 
{this.state.datetimeS.trim()==“”?选择一个日期
:{this.state.datetimeS}

使用状态来更改它。在状态中使用dateTimeS并在onChange函数中更新它


{this.state.dateTimeS==未定义?'Select a date':'other text'}

使用状态更改它。在状态中使用dateTimeS并在onChange函数中更新它

{this.state.dateTimeS===未定义?'Select a date':'other text'}

以下是我所做的(感谢您的帮助)建议:

  <View>
                <DatePicker
                  date={this.state.datetimeS}
                  mode="datetime"
                  format="YYYY-MM-DD HH:mm"
                  confirmBtnText="Confirm"
                  cancelBtnText="Cancel"
                  hideText={true}
                  showIcon={true}
                  onChange={(datetime) => {
                    this.setDateTimeS(datetime);
                  }}
                />
                {this.state.datetimeS == null ? (
                  <Text style={styles.textsmall}>Select a date</Text>
                ) : (
                  <Text> {this.state.datetimeS} </Text>
                )}
              </View>

{
这个.setDateTimeS(datetime);
}}
/>
{this.state.datetimeS==null(
选择一个日期
) : (
{this.state.datetimeS}
)}
这不会改变,没有反应(仍然有“选择日期”)

然后,我输入了我的状态datetimeS:(起初我有datetimeS:“2020-01-01 09:00”)


{
这个.setDateTimeS(datetime);
}}
/>
{this.state.datetimeS.trim()==“”(
选择一个日期
) : (
{this.state.datetimeS}
)}
这给了我一个错误:undefined不是一个对象(正在计算) 'this.state.datetimeS.trim')

我想我犯了一个错误,很抱歉,我遵循了Yesiamfaed(感谢您的帮助)的建议:

  <View>
                <DatePicker
                  date={this.state.datetimeS}
                  mode="datetime"
                  format="YYYY-MM-DD HH:mm"
                  confirmBtnText="Confirm"
                  cancelBtnText="Cancel"
                  hideText={true}
                  showIcon={true}
                  onChange={(datetime) => {
                    this.setDateTimeS(datetime);
                  }}
                />
                {this.state.datetimeS == null ? (
                  <Text style={styles.textsmall}>Select a date</Text>
                ) : (
                  <Text> {this.state.datetimeS} </Text>
                )}
              </View>

{
这个.setDateTimeS(datetime);
}}
/>
{this.state.datetimeS==null(
选择一个日期
) : (
{this.state.datetimeS}
)}
这不会改变,没有反应(仍然有“选择日期”)

然后,我输入了我的状态datetimeS:(起初我有datetimeS:“2020-01-01 09:00”)


{
这个.setDateTimeS(datetime);
}}
/>
{this.state.datetimeS.trim()==“”(
选择一个日期
) : (
{this.state.datetimeS}
)}
这给了我一个错误:undefined不是一个对象(正在计算) 'this.state.datetimeS.trim')


我想我弄错了,对不起,我们看不到你的图片。请检查链接。你的状态设置是什么?是否定义为空?我猜状态更改正确,但组件没有重新启动,因此它没有显示。我想我发现了我的错误。在这个州,我的约会时间是在表单中。那么我必须使用这个.state.form.datetimeS。我正准备尝试无忧都德总是乐于帮助:)我们看不到你的图片,请检查链接。你的状态设置是什么?是否定义为空?我猜状态更改正确,但组件没有重新启动,因此它没有显示。我想我发现了我的错误。在这个州,我的约会时间是在表单中。那么我必须使用这个.state.form.datetimeS。我要试着不担心,伙计总是乐意帮忙:)gl