react-datepicker,默认情况下与monthsShown有关

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react-datepicker,默认情况下与monthsShown有关相关的知识,希望对你有一定的参考价值。

我们正在使用react-datepicker进行日历实现。显示的默认月份由monthsShown datepicker组件属性控制。当我们说2-它显示当前月+下个月。

我正在使用reat 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.handleChange}    //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}
/>

有没有办法显示上个月和本月。?例如,如果当前月份是4月份,我们希望显示3月和4月而不是4月 - 5月。

答案

不幸的是,看看react-datepicker repo中组件的源代码,似乎它总是会显示当前月份和之后的几个月,由monthsShown属性控制。不要认为除了分配github repo并自己添加功能(或提交功能请求)之外,还有办法让它做你想做的事。有问题的问题:

calendar.jsx

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.为了使它能够执行您想要的操作,可以添加一个标志来反转添加月份并将其减去。

以上是关于react-datepicker,默认情况下与monthsShown有关的主要内容,如果未能解决你的问题,请参考以下文章

react-datepicker“无法阻止被动事件侦听器调用中的默认值”

抛出错误 RangeError:将自定义日期设置为 react-datepicker 的 DatePicker 时时间值无效

试图展示下与jQuery动态生成的内容输入

在不破坏管道的情况下与进程多次通信?

在不激活表单的情况下与表单交互

unordered_set (C++) 在字符串的情况下与在整数的情况下的性能有啥不同吗?