FullCalendar,在 selectOverlap 回调中获取当前日期?

FullCalendar, get current date in selectOverlap callback?

我在 React 中使用 FullCalendar 5 和 interactionPlugin。我想让用户 select 任何没有活动的日期和任何活动结束的日期。因此,如果有从 4 月 1 日到 3 日的活动,我希望能够 select 第 3、4、5 等,但不能是第 2。这有意义吗?

我正在使用 selectOverlap,它会在用户将鼠标拖到某个事件上时触发。我能够获取事件的开始和结束日期,但不能获取用户 selected 的日期范围。有没有办法获取用户在 selectOverlap 回调中 selected 的日期范围?如果没有,我可以使用另一个回调来获取鼠标当前结束的日期吗?

<FullCalendar
    ref={calendarRef}
    timeZone={timezone}
    plugins={[dayGridPlugin, interactionPlugin, momentTimezonePlugin]}
    selectOverlap={handleSelectOverlap}
    ...
/>

const handleSelectOverlap = (event) => {
    console.log("end", event.end);
    // I have the event's end date but how do I get the current date the mouse is over?
    return false;
};

我认为你不能通过 selectOverlap 做到这一点 - 它只允许一个简单的 yes/no 关于它是否重叠,它不能告诉你 在哪里 它重叠了。

我认为您必须使用 https://fullcalendar.io/docs/selectAllow - which gives you the start and end date of the range the user has just selected - and https://fullcalendar.io/docs/Calendar-getEvents 进行自己的验证 - 获取日历上当前的所有事件 - 然后自己检查每个事件的选择。