<full-calendar #unitCalendar [editable]='true' [defaultView]="calendarView" [defaultDate]="unit.start_date*1000" [plugins]="calendarPlugins" [header]="calendarHeader" (eventClick)="viewEventDetails($event)" (eventDrop)='updateDate($event)' (dateClick)="handleDateClick($event)" [eventSources]="calendarEventSource"></full-calendar>
Ich habe versucht, eventAllow als Rückruf hinzuzufügen und eine Methode in der ts-Datei zu definieren, aber die Methode wird nie aufgerufen, als ob das Ereignis niemals ausgelöst würde.
Ich habe das nach einer frustrierenden Zeit selbst gelöst. Die Antwort besteht darin, eine Eigenschaft / Variable in der ts-Datei mit dem Titel eventAllow zu erstellen und die Variable auf eine Funktion mit einem Booleschen Antworttyp festzulegen.
eventAllow = function (dropInfo, draggedEvent) {
if(draggedEvent.extendedProps.calendarEvent.id !== null) {
return true;
}
return false;
}
und lesen Sie die Eigenschaft / Variable in der HTML-Datei wie unten.
<full-calendar #unitCalendar [editable]='true' [defaultView]="calendarView" [defaultDate]="unit.start_date*1000" [plugins]="calendarPlugins" [header]="calendarHeader" (eventClick)="viewEventDetails($event)" (eventDrop)='eventDropped($event)' (eventResize)='eventResized($event)' [eventAllow]='eventAllow' (dateClick)="handleDateClick($event)" [eventSources]="calendarEventSource"></full-calendar>
HINWEIS: Das Erstellen einer Methode anstelle einer Eigenschaft / Variablen funktioniert nicht und verursacht möglicherweise einen StackOverflow.
Hoffe, das hilft jedem da draußen mit einem ähnlichen Problem!
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen