【发布时间】:2020-05-17 21:50:50
【问题描述】:
有人对如何创建仅显示发生事件的时间的 Fullcalendar TimeGridView 有建议吗?
我有一个网站,它显示多个不同的谷歌日历,带有完整的日历和单独的标签。例如,有些日历只有 15:00 - 17:00 的事件,而有些日历的事件只有 11:00 - 21:00。我希望 minTime 和 maxTime 会自动设置为一天/周的第一个事件的开始时间和一天/周的最后一个事件的结束时间。所以根本看不到没有事件的时间段。
我已经这样做了,以便我浏览事件源并找出当前呈现的日/周的事件的第一个和最后一个时间,并在初始化日历时将它们设置为 minTime 和 maxTime 选项。这适用于初始页面渲染,但是当用户更改日期/周时,我需要更新 minTime / maxTime 以使其正确渲染以适应新的周/日选择。否则,初始 minTime / maxTime 将被使用,并且新事件可能会超出这些时间并且在日历上不可见。
我可以在渲染日期或获取事件时使用事件来了解日期何时更改,但我遇到的问题是当我更新 Fullcalendar 中的 minTime / maxTime 选项时,每个事件都会重新获取时间和日期被渲染,所以它会导致无限循环。
有没有办法按照我的要求去做?
【问题讨论】:
-
如果不分叉 timegrid 插件并创建 custom view,就无法做到这一点,但这不是一项可以轻松完成的任务。如果你只是想节省空间,你考虑过使用列表视图还是日网格视图?
-
是的..这些是目前我认为的选项..太糟糕了。我希望这会在 v5 github.com/fullcalendar/fullcalendar/issues/4698 中发生变化......所以我可以在加载事件后更新 minTime 和 maxTime ......请参阅 codepen.io/acerix/pen/NZGpZE?editors=0011
-
让我们希望他们在 v5 中修复它,至少你有一个未解决的问题。有时间,因为它仍处于测试阶段,并且在初始版本之后也会有更新。如果您有时间,您也许可以自己解决如何贡献修复。
标签: javascript fullcalendar fullcalendar-4 fullcalendar-5