Я пытаюсь установить значение средства выбора даты в текстовом поле и опубликовать его. Я устанавливаю значение как это значение = {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>