我正在尝试从重复事件中删除一个事件。我正在使用ice_cube宝石来协助处理重复发生的事件。 所有功能都适用于创建和编辑重复发生的事件。
如果用户想要删除重复事件中的一个事件,我使用以下方法:
eventClick: (event, jsEvent, view) ->
$('#calendar').fullCalendar('removeEvents', event._id);
return
其中event._id是 fullCalendar 为日历上的每个事件创建的唯一 id。但是,它不会删除传递的重复事件中的一个事件,而是删除所有事件。
我做错了什么,如何让 fullCalendar 只删除一系列事件中的一个事件?
FullCalendar 事件文档页面显示定期事件具有相同的 ID。
removeEvents 文档页面说,如果要删除单个事件对象,可以提供过滤功能。
eventClick: function (calEvent, jsEvent, view) {
$('#calendar').fullCalendar('removeEvents', function (eventCandidate) {
return calEvent === eventCandidate;
});
}
UPD:如果过滤功能不起作用,自定义渲染挂钩可能会有所帮助。
您可能必须在事件上设置自定义属性(或在某处记住其 ID 和日期(,然后在渲染期间排除此类事件。
eventClick: function (calEvent, jsEvent, view) {
calEvent.excludedByUser = true;
},
eventRender: function(calEvent, element) {
if (calEvent.excludedByUser) {
return false;
}
}