gpt4 book ai didi

javascript - 如何让 DateRangePicker 在单击时呈现日历?

转载 作者:行者123 更新时间:2023-12-03 02:24:35 25 4
gpt4 key购买 nike

当我在 webpack-dev-server 中渲染此内容时,日历不会在单击时渲染。

enter image description here

如果我尝试手动更改日期,则会收到错误消息:

DateSelection.js?f52c:25 未捕获的类型错误:无法读取 null 的属性“calendarFocus”

SingleDatePicker 似乎工作得很好,但 DateRangePicker 却不行。我该怎么做才能在点击时正确呈现日历?

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import moment from 'moment';
import { DateRangePicker } from 'react-dates';
import 'react-dates/initialize';
import 'react-dates/lib/css/_datepicker.css';

class DateSelection extends Component {
constructor(props) {
super(props);
this.state = {
startDate: moment(),
endDate: moment(),
calendarFocus: 'startDate',
}
this.onDatesChange = this.onDatesChange.bind(this);
this.onFocusChange = this.onFocusChange.bind(this);
this.onSubmit = this.onSubmit.bind(this);
};

onDatesChange({ startDate, endDate }) {
this.setState(() => ({ startDate, endDate }));
};

onFocusChange({ calendarFocus }) {
this.setState(() => ({ calendarFocus }));
};

onSubmit(e) {
e.preventDefault();
console.log(this.state);
};

render() {
return (
<form onSubmit={this.onSubmit}>
<DateRangePicker
startDate={this.state.startDate}
startDateId="startDate"
endDate={this.state.endDate}
endDateId="endDate"
onDatesChange={this.onDatesChange}
focusedInput={this.state.calendarFocus}
onFocusChange={this.onFocusChange}
/>
<br/>
<input type="submit" value="Submit" />
</form>
);
}
};

ReactDOM.render((
<DateSelection/>
), document.getElementById('root'));

其他详细信息:

  • react 16.2.0
  • react 日期 16.3.5
  • webpack 3.10.0
  • webpack-dev-server 2.11.1

另外,顺便说一句,我似乎找不到 react 日期的当前文档。很多地方都将我链接到this storybook ,但似乎缺少一些信息。例如,此处的“描述”列为空。

enter image description here

最佳答案

尝试在构造函数中将 calendarFocus 设置为 null

和改变

onFocusChange({ calendarFocus }) {
this.setState(() => ({ calendarFocus }));
};

onFocusChange(calendarFocus) {
this.setState(() => ({ calendarFocus }));
};

关于javascript - 如何让 DateRangePicker 在单击时呈现日历?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49005633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com