如何将 selectOverlap 属性应用于周和日视图,但不应用于全日历的月视图



我正在使用全日历插件,只是想问如何将selectOverlap: false属性应用于周和日视图,而不是月视图。

例如,如果我每周更改视图,那么selectOverlap应该是真的,或者如果我从月更改为任何其他视图selectOverlap应该是假的,但请记住,我不会重新加载整个页面。

我想要这个,因为如果我在月视图中有一些数据并且我尝试选择月份,它应该是可选的,在这里它不起作用,因为重叠正在考虑整个月。

所以我希望它应该在月视图中是可选的,并且可以像在周和日视图中一样工作(无法重叠)。

我尝试在本地存储中添加视图并放置条件

selectOverlap: localStorage.getItem('viewName') === "month" ? true : false

所以这适用于月视图或周日视图,但不能同时适用于两者

selectOverlap: localStorage.getItem('viewName') === "month" ? true : false

在这里,此localStorage.getItem('viewName')给出了正确的视图名称,但由于这些属性仅在页面加载时应用,因此我无法在更改视图时进行更改,我希望selectOverlap属性对于月视图应为 true,对于视图的其余部分应为 false,而无需一次又一次地重新加载页面。

你提到过

由于这些属性仅在页面加载时应用,因此不是 我可以更改视图

这是真的,但已经有一种方法可以避免这个问题。根据 selectOverlap 的文档,您可以提供回调函数而不是固定值。然后,每次发生重叠时,fullCalendar 都会执行此操作,因此它可以动态评估当时的情况。

通过这种方式,您可以询问 fullCalendar 当前视图是什么,并据此做出决定。例如:

selectOverlap: function(event) {
return ($('#calendar').fullCalendar('getView').name == "month");
}

只要视图类型为"月",这将返回 true,从而允许重叠继续进行。

相关内容

  • 没有找到相关文章

最新更新