как установить значение, выбранное датчиком и опубликовать значение - PullRequest
1 голос
/ 12 февраля 2020

Я пытаюсь установить значение средства выбора даты в текстовом поле и опубликовать его. Я устанавливаю значение как это значение = {this.state.choosenDate} и при изменении текста onChangeText = {DateTxtField => this.setState ( {DateTxtField})}. но когда я попытался опубликовать его, значение стало пустым.

import React, {Component} из 'response'; import {StyleSheet, View, Text, TouchableOpacity, AsyncStorage} из'act-native '; импортировать {TextInput} из 'response-native-жест-обработчик'; импортировать момент из 'момента';

import DateTimePickerModal from "react-native-modal-datetime-picker";
export default class EditHoliday extends Component {
    constructor(props) {
        super(props);
        this.state = {
        DateTxtField: '',
        isVisible: false,
        choosenDate: ''
        };
        }
CheckTextInput = async() =>
{
if (this.state.DateTxtField != '')
{
if(this.state.NameTxtField != '')
{
var data = {
    date: this.state.DateTxtField,
    holiday: this.state.NameTxtField
};
try {
let response =  await fetch(
"http://http://localhost:3000/holiday?",
{
method: "POST",
headers: {
"Accept": "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify(data)
}
);
if (response.status >= 200 && response.status < 300) {
    alert("Holiday Updated"); 
this.props.navigation.navigate('Seven')

}
} catch (errors) {
alert("Something Went wrong");
}
}
else
alert('Please Enter Password');
} else
alert('Please Enter Email & Password');
}    

//Date Picker Components
    handlePicker = (date) => {
        this.setState({
            isVisible: false,
            choosenDate: moment(date).format("DD-MM-YYYY")
        })
        }
        hidePicker = () => {
            this.setState({
                isVisible : false
            })
            }
         showPicker = () => {
                this.setState({
                    isVisible: true
                })
                }
    //Render items
    render() {
    return (
    </View>
    {/* Show Date  */}
    <View style={styles.TextV}>
    <TouchableOpacity style= {{fontSize:15,borderWidth:.2,paddingLeft:15,width:'44%',
    height:40,marginTop:20,
    borderColor:'black'}}
    onPress={this.showPicker}>
        <DateTimePickerModal
            isVisible={this.state.isVisible}
            mode="date"
            onConfirm={this.handlePicker}
            onCancel={this.hidePicker}
           minimumDate = {new Date()}
           maximumDate = "2020-12-31T14:05:15.953Z"
          />
    <TextInput style={{marginHorizontal:0,marginTop:10,
    borderColor:'black'}}
    keyboardType='email-address'
    placeholder='Date' placeholderTextColor='#a8a8a8'
    onChangeText={DateTxtField => this.setState({ DateTxtField })}
    value= {this.state.choosenDate}
    defaultValue= {this.state.DateTxtField}
    editable={false}
    underlineColorAndroid="transparent"></TextInput>
    </TouchableOpacity>
</View>
...