【问题标题】:How Can I Select The List View To Match The Current View In Fullcalendar如何选择列表视图以匹配 Fullcalendar 中的当前视图
【发布时间】:2016-10-26 18:43:18
【问题描述】:
我在 Fullcalendar 上的标题右侧按钮是 'month,agendaWeek,agendaDay,list),列表默认为 listWeek。如何让日历在用户已经查看的列表视图中显示相同的时间跨度?换句话说,如果他们在月视图上并单击列表按钮,他们应该会看到 listMonth 视图;如果他们在议程周视图上并单击列表按钮,他们应该会看到 listWeek 视图;如果他们在议程日视图上并单击列表按钮,他们应该会看到 listDay 视图。有人知道如何在没有多个“列表”按钮的情况下做到这一点吗?
【问题讨论】:
标签:
javascript
jquery
fullcalendar
【解决方案1】:
我找到了处理这个问题的方法。如果有人提出更好的方法,请告诉我。我使用 localStorage 来保留当前视图,以便用户在返回日历时可以返回该视图。每当他们更改视图时都会更新。
在customButtons部分,我创建了自己的按钮叫listView,我根据当前视图设置列表视图,然后调用.fullCalendar( 'changeView', viewName )
listView: {
text: 'list',
click: function() {
var currentView = localStorage.getItem("AI_Default_FullCalendar_View");
if(currentView.indexOf('list') == -1){
if(currentView.indexOf('month') != -1){
currentView = 'listMonth';
}
if(currentView.indexOf('Week') != -1){
currentView = 'listWeek';
}
if(currentView.indexOf('Day') != -1){
currentView = 'listDay';
}
}
localStorage.setItem('AI_Default_FullCalendar_View', currentView);
$("#calendar").fullCalendar('changeView', currentView);
}
}