FullCalendar:仅在当前视图的列表视图中显示事件
FullCalendar: Display events in a listview only for the current view
我正在使用 FullCalendar v4 并尝试在自定义列表视图中显示仅适用于当前视图的所有事件。
意义上的当前视图,比方说,如果我在 'dayGridMonth' 视图中,我需要获取当前整个月的事件。同样,如果我在 'timeGridWeek' 视图中,我需要获取当前活动的整个星期的事件。
我正在使用 FullCalendar Angular 插件,我已经使用 getEvents()
方法尝试了以下代码。
let CalendarApi = this.calendar.getApi();
let events = CalendarApi.getEvents()
console.log(events);
使用这种方式,无论我在哪个视图中,FullCalendar 都会显示所有事件。我想要一种类似于延迟加载的方式,其中只为当前视图(时间段)加载事件。
尝试使用
eventRender(event){}
它将在当前视图中呈现事件
我认为您需要执行一些步骤:
1) 识别视图的变化(例如单击按钮 'month' 或 'week')。
2) 在更改视图时,您擦除或插入您想要用于该视图的事件列表。
如何在代码上执行这些步骤:
1)
在组件中,放置一个 return 视图的回调:
<full-calendar (viewSkeletonRender)="handleViewRender($event)"></full-calendar>
在您的代码中,创建方法 'handleViewRender':
handleViewRender($event) {
if ($event.view.viewSpec.buttonTextDefault === 'month') {
// step 2 here, change the list of events for month view
} else if ($event.view.viewSpec.buttonTextDefault === 'week') {
// step 2 here, change the list of events for week view
}
alert($event.view.viewSpec.buttonTextDefault );
}
我想您已经知道如何在日历中放置事件列表,如果不知道,也很容易找到...所以我不会将代码放在这里。
有关日历事件的官方文档,大部分代码在jQuery中:
https://fullcalendar.io/docs/event-object
关于 viewSkeletonRender 的官方文档,这个文档太差了。
https://fullcalendar.io/docs/viewSkeletonRender
希望对您有所帮助。
我正在使用 FullCalendar v4 并尝试在自定义列表视图中显示仅适用于当前视图的所有事件。
意义上的当前视图,比方说,如果我在 'dayGridMonth' 视图中,我需要获取当前整个月的事件。同样,如果我在 'timeGridWeek' 视图中,我需要获取当前活动的整个星期的事件。
我正在使用 FullCalendar Angular 插件,我已经使用 getEvents()
方法尝试了以下代码。
let CalendarApi = this.calendar.getApi();
let events = CalendarApi.getEvents()
console.log(events);
使用这种方式,无论我在哪个视图中,FullCalendar 都会显示所有事件。我想要一种类似于延迟加载的方式,其中只为当前视图(时间段)加载事件。
尝试使用
eventRender(event){}
它将在当前视图中呈现事件
我认为您需要执行一些步骤:
1) 识别视图的变化(例如单击按钮 'month' 或 'week')。
2) 在更改视图时,您擦除或插入您想要用于该视图的事件列表。
如何在代码上执行这些步骤:
1) 在组件中,放置一个 return 视图的回调:
<full-calendar (viewSkeletonRender)="handleViewRender($event)"></full-calendar>
在您的代码中,创建方法 'handleViewRender':
handleViewRender($event) {
if ($event.view.viewSpec.buttonTextDefault === 'month') {
// step 2 here, change the list of events for month view
} else if ($event.view.viewSpec.buttonTextDefault === 'week') {
// step 2 here, change the list of events for week view
}
alert($event.view.viewSpec.buttonTextDefault );
}
我想您已经知道如何在日历中放置事件列表,如果不知道,也很容易找到...所以我不会将代码放在这里。
有关日历事件的官方文档,大部分代码在jQuery中: https://fullcalendar.io/docs/event-object
关于 viewSkeletonRender 的官方文档,这个文档太差了。 https://fullcalendar.io/docs/viewSkeletonRender
希望对您有所帮助。