Я пытаюсь установить дату для двух разных типов ввода.Я попытался вызвать разные функции для обоих обработчиков событий ввода, и это сработало.Но я хочу использовать более сжатый способ управления датой ввода.Другой подход, который я пробовал вызывать single onChange (), похоже, не меняет моего поля ввода.
Вот мой код:
import React, { Component } from "react";
import axios from "axios";
export default class DatePage extends Component {
constructor() {
super();
this.state = {
startDate: '',
endDate: '',
clicked: false
};
}
componentDidMount() {
this.setDate();
this.setState({
clicked: true
});
}
setDate = (e) => {
if (this.state.clicked !== true)
{
var date = new Date();
var newdate =
date.getFullYear() + "-" + ("0" + (date.getMonth() + 1)) + "-" + date.getDate();
this.setState({
startDate: newdate,
endDate: newdate,
clicked: false
});
}
else
{
this.setState({
[e.target.name]: e.target.value
});
}
};
render() {
return (
<div>
<label>From</label>
<input
type="date"
name="startdate"
value={this.state.startDate}
onChange={this.setDate}
/>
<label>To</label>
<input
type="date"
name="enddate"
value={this.state.endDate}
onChange={this.setDate}
/>
</div>
);
}
}
По умолчанию я устанавливаю текущийдата и изменение выбранной даты