gpt4 book ai didi

javascript - AirBnB React-日期未显示所选范围

转载 作者:太空宇宙 更新时间:2023-11-04 15:58:29 27 4
gpt4 key购买 nike

我正在尝试添加 AirBnB React-dates 。所有功能都正常工作,除了一件事(不打开已选择日期的月份)。

当我分配开始日期和结束日期时,它会选择范围但不显示所选月份。它显示当前月份。

例如:如果我设置开始日期 = 2017-05-05 和结束日期 =2017-05-09 那么它会显示选择,但在下次打开日历选择器时它只显示当前月份,所以我必须单击下个月,下个月查看之前选择的日期;

我的代码:

import React from 'react';
import ReactDOM from 'react-dom';
import moment from 'moment';

import { DateRangePicker } from 'react-dates';


var SelectedStartDate = moment('2017-05-05');
var SelectedEndDate = moment('2017-05-09');


class HomePageDatePicker extends React.Component {
constructor(props) {
super(props);
this.state = {
focusedInput: null,
startDate: SelectedStartDate,
endDate:SelectedEndDate
};
this.onDatesChange = this.onDatesChange.bind(this);
this.onFocusChange = this.onFocusChange.bind(this);
}

onDatesChange({ startDate, endDate }) {

this.setState({ startDate, endDate });
}

onFocusChange(focusedInput) {
this.setState({ focusedInput });
}

render() {
const { focusedInput, startDate, endDate } = this.state;
return (
<div>
<DateRangePicker
{...this.props}
onDatesChange={this.onDatesChange}
onFocusChange={this.onFocusChange}
focusedInput={focusedInput}
startDate={startDate}
endDate={endDate}
startDateId="datepicker_start_home"
endDateId="datepicker_end_home"
startDatePlaceholderText="Check In"
endDatePlaceholderText="Check Out"
/>
</div>
);
}
}

当我打开选择器时,它显示二月而不是五月。

最佳答案

您需要添加一个选定的状态,如下所示:

import React from 'react';
import ReactDOM from 'react-dom';
import moment from 'moment';

import { DateRangePicker } from 'react-dates';


var SelectedStartDate = moment('2017-05-05');
var SelectedEndDate = moment('2017-05-09');


class HomePageDatePicker extends React.Component {
constructor(props) {
super(props);
this.state = {
focusedInput: null,
startDate: SelectedStartDate,
endDate:SelectedEndDate
};
this.onDatesChange = this.onDatesChange.bind(this);
this.onFocusChange = this.onFocusChange.bind(this);
}

onDatesChange({ startDate, endDate }) {

this.setState({ startDate, endDate });
}

onFocusChange(focusedInput) {
this.setState({ focusedInput });
}

render() {
const { focusedInput, startDate, endDate } = this.state;
return (
<div>
<DateRangePicker
{...this.props}
onDatesChange={this.onDatesChange}
onFocusChange={this.onFocusChange}
focusedInput={focusedInput}
//Here is the change:
date={startDate}
startDate={startDate}
endDate={endDate}
startDateId="datepicker_start_home"
endDateId="datepicker_end_home"
startDatePlaceholderText="Check In"
endDatePlaceholderText="Check Out"
/>
</div>
);
}
}

关于javascript - AirBnB React-日期未显示所选范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42486568/

27 4 0
文章推荐: Javascript正则表达式与替换
文章推荐: html - 无法隐藏嵌入在 iframe 中的 Flash SWF 对象
文章推荐: android - Android 网络浏览器上的