反应大日历错误:提供给"弹出窗口"的无效道具"slotStart"类型为&quo



我正在使用道具"弹出窗口"进行反应大日历,单击"+x更多"链接时,我在控制台中收到上述错误。我的onEventClick功能通过将我路由到"日历/"来工作,但我不确定我在这里错过了什么。我通读了一些文档,但找不到解决问题的正确示例。我怀疑这与"时刻"或日期对象的格式不正确有关。

import React from "react";
import BigCalendar from "react-big-calendar";
import moment from "moment";
import "react-big-calendar/lib/css/react-big-calendar.css";
const localizer = BigCalendar.momentLocalizer(moment);
let allViews = Object.keys(BigCalendar.Views).map(k => BigCalendar.Views[k]);
class Calendar extends React.Component {
onEventChange = event => {
this.onEventClick(event);
};
onEventClick = event => {
this.setState({
endDate: moment(event.end.toLocaleString()).format("YYYY-MM-DDTHH:mm"),
startDate: moment(event.start.toLocaleString()).format("YYYY-MM-DDTHH:mm"),
eventName: event.name
});
this.props.history.push("calendar/" + event.eventId);
};
render () {
function Event({ event }) {
return (
<span id="eventTitle">
{event.number +
" - " +
event.name}
</span>
);
}
return(
<React.Fragment>
<div style={{ height: 700 }}>
<BigCalendar
localizer={localizer}
toolbar={true}
events={this.state.events}
popup
selectable
onSelectSlot={(slotInfo) => alert(
`selected slot: nnstart ${slotInfo.start.toLocaleString()} ` +
`nend: ${slotInfo.end.toLocaleString()}`
)}
views={allViews}
components={{
event: Event
}}
onSelectEvent={event => this.onEventChange(event)}
eventPropGetter={(event) => {
let newStyle = {
backgroundColor: "",
color: "white",
borderRadius: "5px",
border: "none"
};
if (event.eventStatusCd === "CL   ") {
newStyle.backgroundColor = "firebrick";
}
return {
className: "",
style: newStyle
};
}}
/>
</div>
</React.Fragment>
);
}
}
export default Calendar;

下面是事件对象的"start"属性中的示例。 此对象被推送到其他事件对象的数组中:

eventObj.start = new Date(
Date.parse(
moment
.utc(dateCreated)
.local()
.format("YYYY-MM-DDTHH:mm")
)
);

我在第一次实现时遇到了类似的问题。虽然 react-big-calendar 使用内部本地化器(在您的情况下可能是 Moment(,但它仍然希望在您提供它events中,所有startend日期都必须是有效的 JS Date 对象。我的建议是,与其运行Date.parse(),不如执行以下操作:

eventObj.start = moment(dateCreated).local().toDate(); // returns valid JS Date Object

相关内容

最新更新