【问题标题】:Events are not showing in month view when default calendar is loaded加载默认日历时,事件未显示在月视图中
【发布时间】:2019-03-08 05:13:51
【问题描述】:

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

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

那么,如果我向状态提供任何静态事件,我是否可以在月视图中获得这些事件?

【问题讨论】:

    标签: react-big-calendar


    【解决方案1】:

    如果事件的 startend 值不是 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;
    });
    

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

    【讨论】:

      猜你喜欢
      • 2018-03-02
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多