【问题标题】:How to show selected date and time in textinput in react native如何在本机反应的文本输入中显示选定的日期和时间
【发布时间】:2019-02-18 04:19:02
【问题描述】:

我正在开发一个 react-native 应用程序。我正在使用日期时间选择器。我的问题是我想在选择日期和时间后立即从 textInput 中的日期时间选择器中显示选择的日期和时间......如何做到这一点。这是我的代码

import React from 'react';
import { StyleSheet, Text, View, TextInput } from 'react-native';
import DateTimePicker from 'react-native-modal-datetime-picker';

export default class App extends React.Component {
  constructor(props){
    super(props)

    this.state=({ 

      isDateTimePickerVisible: false,
      selecteddate:''
    })
  }

  _showDateTimePicker = () => this.setState({ isDateTimePickerVisible: true });

  _hideDateTimePicker = () => this.setState({ isDateTimePickerVisible: false });

  _handleDatePicked = (pickeddate) => {
    day   = pickeddate.getDate();
    month = pickeddate.getMonth();
    year  = pickeddate.getFullYear();
    console.log('A date has been picked: ' + day + '-' + month + '-' + year);
    exdate= day + '-' + month + '-' + year
    this._hideDateTimePicker();
  };

  onFocus = () => {
    this._handleDatePicked();
  }

  render() {
    return (
      <View style={styles.container}>
        <Text>Open up App.js to start working on your app!</Text>
        <TextInput 
        placeholder="placeholder..."
        onFocus={ () => this._showDateTimePicker() }
        value={this.state.selecteddate}
        />
        {/* //--------------------------------------DateTimePicker */}
        <DateTimePicker
                      isVisible={this.state.isDateTimePickerVisible}
                      onConfirm={this._handleDatePicked}
                      onCancel={this._hideDateTimePicker}
                      mode={'date'}
                      datePickerModeAndroid={'spinner'}

                    />
            {/* //-------------------------------------- */}
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },
});

【问题讨论】:

    标签: android datetime react-native react-native-textinput


    【解决方案1】:

    你只是忘记在 _handleDatePicked 方法中添加设置状态!!!


     _handleDatePicked = (pickeddate) => {
                day   = pickeddate.getDate();
                month = pickeddate.getMonth();
                year  = pickeddate.getFullYear();
                console.log('A date has been picked: ' + day + '-' + month + '-' + year);
                exdate= day + '-' + month + '-' + year
                this.setState({selecteddate : day + '-' + month + '-' + year}) 
                this._hideDateTimePicker();
              };
    

    【讨论】:

      【解决方案2】:

      您必须在 _handleDatePicked() 中设置选定状态

      _handleDatePicked = (pickeddate) => {
      +    this.setState({selecteddate : day + '-' + month + '-' + year})
        }
      

      你可以走了!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-05
        • 2018-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-09
        • 2015-07-18
        • 1970-01-01
        相关资源
        最近更新 更多