设置丢弃的事件ID



使用fullcalendar 5.0,我试图为已删除的外部事件添加一个唯一ID,但无法使其工作。我似乎应该使用event.setProp,我可以看到它正在修改event._def,但它似乎没有反映在公共属性中。

我在新的Calendar对象中有这些事件处理程序:

...,
eventReceive: function(info){
console.log('In eventReceive')
console.log('id = ' + info.event.id + '; _def.id = ' + info.event._def.id)
info.event.setProp('id', 'myshinyid')
console.log('Back in eventReceive')
console.log('id = ' + info.event.id + '; _def.id = ' + info.event._def.id)
},
eventAdd: function(info){
},
eventChange: function(info){
console.log('In eventChange')
console.log('id = ' + info.event.id + '; _def.id = ' + info.event._def.id)
},

此处的工作示例

这创建了我所期望的序列:eventReceive触发,setProp关闭eventChange,然后返回eventReceive。我可以看到_def被修改了,但它没有暴露出来。

In eventReceive
1:106 id = ; _def.id = undefined
1:114 In eventChange
1:115 id = ; _def.id = myshinyid
1:108 Back in eventReceive
1:109 id = ; _def.id = myshinyid

我错过了什么?

很抱歉回复太晚,但我刚刚检查了相同的问题,并找到了解决方案。

在您的Dragable元素中,您需要添加eventData选项,您可以在那里设置您的id=>

new FullCalendar.Draggable(containerEl, {
itemSelector: '.fc-event', // Change with the identifier of your external events
eventData: function(eventEl) {
const event = JSON.parse(eventEl.getAttribute('data-event')); // I have all my event info in a stringify json object on each elements
event.id = generateUUID(); // Here you can add your id
return event; // Your id will be saved
}
});

相关内容

  • 没有找到相关文章

最新更新