我将React Big Calendar用于日历。
<BigCalendar
selectable
events={this.state.events}
step={60}
defaultDate={new Date()}
localizer={localizer}
dayPropGetter={this.dayStyleGetter}
onSelectSlot = {this.handleSelect}
eventPropGetter={(this.eventStyleGetter)}/>
这是我的组件。加载默认日历后,事件不会在月视图中显示。我知道原因之一。我处于活动状态的事件为空,因此日历在月视图中未显示任何事件。
然后,如果我向该州提供了任何静态事件,是否可以在月视图中获取这些静态事件?
答案 0 :(得分:0)
如果事件的start
和end
的值不是JavaScript Date
对象,则我以前曾经历过。如果仅传递字符串,则初始视图将无法正常工作。然后,浏览视图将通过localizer
传递值(在视图更改期间)并进行转换(如果可能)。因此,您不会在加载时看到它们,然后在导航到另一个视图后会看到它们。令人困惑和沮丧。
我什至用自己的代码编写了辅助方法来转换这些值。
import eventData from './somefile.json';
const myData = eventData.map(event => {
event.start = new Date(event.start);
event.end = new Date(event.end);
return event;
});
当然,仅当我的start
和end
的值是Date
对象构造函数可以正确解析的字符串时,该方法才有效。重要的部分(文档中的是)是这些键需要正确的Date
对象值。