Мы используем react-datepicker для реализации нашего календаря. отображаемые месяцы по умолчанию управляются средством выбора даты месяцевПоказано свойство компонента. когда мы говорим 2-, он показывает текущий месяц + следующий месяц.
Я использую реальный DatePicker, как показано ниже
<DatePicker
customInput = {<CustomInput disableDateSelection = {this.props.dateProps.disableDateSelection} />}
className = "w-dtsr-date-picker"
selected = {this.state.startDate} //called when the date is clicked
onChange = {this.handleChangeEvent} //called only when the value is chnaged
monthsShown = {2} //number of months to be shown
minDate = {this.props.dateProps.minDate} //min days to be shown in the calendar
maxDate = {this.props.dateProps.maxDate} //max days to be shown in the calendar
onChangeRaw = {this.handleDateChangeRaw} //preventing the user from manually entering the dates or text in the input text box
dayClassName = {date => date.getTime() === new Date(this.props.dateProps.defaultDate).getTime() && this.props.dateProps.disableDefaultDate ? 'random' : undefined}
//dayClassName - to disable the proposed forecast dates or actual dates if user has already selected/proposed the same forecast/actual dates
disabled = {this.props.dateProps.disableDateSelection}
/>
Есть ли способ показать предыдущий месяц и этот месяц? Например, если текущий месяц — апрель, мы хотели показать март и апрель вместо апреля — мая.
Открыт вопрос: github.com/Hacker0x01/реагировать-датапикер/проблемы/1697
@Xizam Спасибо !!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


К сожалению, глядя на исходный код компонента в репозитории react-datepicker, может показаться, что он всегда будет показывать текущий месяц и некоторое количество месяцев после него, контролируемое свойствомmonthsShown. Не думайте, что есть способ заставить его делать то, что вы хотите, кроме как разветвить репозиторий github и добавить функциональность самостоятельно (или отправить запрос на функцию). Рассматриваемый проблемный фрагмент:
var monthList = [];
for (var i = 0; i < this.props.monthsShown; ++i) {
var monthsToAdd = i - this.props.monthSelectedIn;
var monthDate = addMonths(this.state.date, monthsToAdd);
var monthKey = `month-${i}`;
Свойство monthsShown контролирует, какие месяцы отображаются, и по умолчанию оно равно 1. Чтобы заставить его делать то, что вы хотите, можно добавить флаг, чтобы отменить добавление месяцев и вместо этого вычесть их.
Да, можно отображать комбинацию текущего месяца и предыдущего месяца.
попробуйте указать эти два значения:
showPreviousMonths = true и monthShown = 2
<DatePicker
selected = {startDate}
showPreviousMonths
onChange = {date => setStartDate(date)}
monthsShown = {2}
/>
У меня та же проблема, так как я использую текущий день как maxDate. Может быть, запрос функции?