0

我将 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)}/>

这是我的组件。加载默认日历时,事件未显示在月视图中。我知道其中一个原因。我处于状态的事件为空,因此日历未在月视图中显示任何事件。

然后,如果我向该州提供任何静态事件,我是否可以在月视图中获得这些事件?

4

1 回答 1

0

start如果事件的和end值不是 JavaScriptDate对象,我过去曾经历过这种情况。如果您只传递字符串,初始视图将无法正常工作。如果可能,导航视图将通过您的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;
});

当然,只有当 mystart和values 是Object 构造函数可以正确解析end的字符串时才有效。Date重要的部分(这文档中)是这些键需要正确的Date对象值。

于 2019-03-12T20:50:57.043 回答