您是否应该为react-big-calendar创建一个自定义eventWrapper组件?

时间:2019-02-08 15:37:06

标签: reactjs calendar react-big-calendar

没有添加eventWrapper的文档,我看到一些评论说它并不打算被覆盖。我们应该使用这个还是尝试创建自定义的eventWrapper组件来覆盖此现有组件?

对我来说,我不希望.rbc-event-label也不想在JS中动态更改样式。还是应该只更改CSS中的内容?

1 个答案:

答案 0 :(得分:0)

您可以使用eventPropGetter属性为事件动态应用其他类和样式。此属性采用一个函数,该函数应返回要应用于事件的类名和样式的对象(自动添加到eventWrapper)。

const eventRenderProps = (event, start, end, isSelected) => {
  let result = {};
  // Code to conditionally add 'className' or 'style' to the result
  return result; // {className?: String, style?: Object}
}

//
<MyCalendar eventPropGetter={eventRenderProps} />

重要的是要注意,在每个显示的事件上都会调用此方法,并且在选择或更改/更新事件时,将在每个方法上再次调用此方法。注意className是一个 String ,而不是一个对象,因此也很重要,因此,如果您需要多个类,则需要用空格分隔的类名列表。