0

我正在从 Bootstrap DateTimePicker 迁移到 Fullcalendar v4,我的问题是过滤事件。

使用 DateTimePicker,我可以更自由地操作日历上显示的事件(似乎 Fullcalendar v3 比 v4 更自由)。

我找不到将事件从数组放置到屏幕的方法。到目前为止,这就是我的代码的样子

            var calendar = new FullCalendar.Calendar(element, {
                plugins: [ 'dayGrid', 'timeGrid', 'list', 'interaction', 'bootstrap' ],
                themeSystem: 'bootstrap',
                events : function(info, successCallback, failureCallback) {
                    console.log('events');
                    self.eventsLoadingRequest(true);
                    calendarService.getEvents(moment(info.start), moment(info.end)).then(
                        function(result) {
                            ko.utils.arrayPushAll(self.events, self.parseByType(result));
                            self.eventsLoadingRequest(false);
                            successCallback(ko.utils.arrayMap(self.events(), function(item) { return item.serialize() }));
                        },
                        function(error) {   
                        }
                    );
                },
                customButtons: {
                    filterEvents: {
                        text: 'Events',
                        click: function() {
                            self.eventsFilter(true, false);
                        }
                    },
                    filterAll: {
                        text: 'All',
                        click: function() {
                            self.eventsFilter(true, true);
                        }
                    },
                    filterGoals: {
                        text: 'Goals',
                        click: function() {
                            self.eventsFilter(false, true);
                        }
                    }
                },
                header: {
                    left: 'title',
                    right: 'prev,today,next dayGridMonth,timeGridWeek,timeGridDay,listWeek, filterEvents,filterAll,filterGoals'
                },
                navLinks: true,
                editable: true,
                eventLimit: true
            });

eventsFilter 函数将两个数组合并为一个。可以手动调用events : function(info, successCallback, failureCallback)吗?

我想避免使用多个流和重新加载事件来应用过滤器。

4

0 回答 0