javascript - 无法在 eventReceived 事件中为 Angular 中的事件设置 ID

标签 javascript angular fullcalendar draggable fullcalendar-4

我正在使用具有拖放功能的 Angular 的 fullcalendar 模块。 当用户在日历上删除新事件时,我想设置 ID。但是我不知道怎么设置。

这里是 Stackblitz网址。 下面还有 eventReceive 函数。

eventReceive(event) {
  const dataSet = event.draggedEl.dataset.event;
  const dataJson = JSON.parse(dataSet);
  const eventIndex: number = this.eventList.findIndex(d => d.id === dataJson.id);
  this.eventList.splice(eventIndex, 1);
  const isAllday = event.event.allDay;
  const endEventDate = event.event.end;
  const startEventDate = new Date(event.event.start);

  const EventTimeObject: any = {
    type: 'event',
    id: dataJson.id,
    start: startEventDate.toUTCString(),
    title: dataJson.title,
    color: dataJson.color
  };

  if (isAllday) {
    const endTime = new Date(startEventDate);
    const endTimeHour = endTime.setHours(23, 59, 59, 999);
    EventTimeObject.end = endTimeHour;
  }
  if (!isAllday && endEventDate === null) {
    const endTime = new Date(startEventDate);
    const endTimeHour = endTime.setHours(endTime.getHours() + 1);
    EventTimeObject.end = endTimeHour;
  } else if (endEventDate) {
    EventTimeObject.end = new Date(endEventDate).getTime();
  }

  this.eventsModel = [...this.eventsModel, EventTimeObject];

  console.log(this.eventsModel);
  // this.plannerService.addActionDates(EventTimeObject);
}

最佳答案

好的,我已经弄清楚了, 但我不确定这是不是正确的做法, 解决方案是需要在 draggrable 对象中添加 id

draggableEvent() {
 new Draggable(this.external.nativeElement, {
  itemSelector: '.fc-event',
  eventData(eventEl) {
    return {
      title: eventEl.innerText,
      id: eventEl.id
    };
  }
 });
}

关于javascript - 无法在 eventReceived 事件中为 Angular 中的事件设置 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58968359/

相关文章:

javascript - 将 for 循环中每个项目的值设置为 true 或 false

json - Angular2 http 获取 json 问题

jquery - FullCalendar 无法读取未定义的属性 'stripTime'

javascript - JS中如何判断null并据此实现逻辑?

fullcalendar - FullCalendar 中放置事件的时区

angularjs - 在带有 Angular UI 的 fullCalendar 中使用 gotoDate

javascript - 获取使用 RequireJS 加载的文本文件的内容?

Javascript时间计算从昨天到明天

javascript - 当 Dojo data-dojo-props 位于 javascript 对象内时,它不会绑定(bind)到模型

javascript - 哪些场景我们要使用构造函数注入(inject)和spyon()注入(inject)?哪一个最好?