События запускаются один за другим, когда я использую функцию для columnHeaderText или columnHeaderHtml - PullRequest
0 голосов
/ 08 июля 2019

Я использую fullcalendar угловой плагин, версия 4. Мне нужно динамически перезаписывать заголовки столбцов.Но когда я делаю это, кажется, что календарь постоянно перерисовывается, и все события, которые я использую, становятся непригодными для использования.Я не могу щелкнуть событие в календаре, события mouse-enter и mouse-leave запускаются один за другим с микроскопической задержкой, даже когда я просто оставляю курсор над событием.Кто-нибудь сталкивался с такой же проблемой?

 <full-calendar
      #calendar
      ...
      (dateClick)="handleDateClick($event)"
      (eventClick)="handleEventClick($event)"
      (eventMouseEnter)="eventMouseEnter($event)"
      (eventMouseLeave)="eventMouseLeave($event)"
      ...
      [columnHeaderText]="getDayFunc"
></full-calendar>

Я ожидал, что функция, которую я вставил в [columnHeaderText], будет использоваться, возможно, один раз для каждого просмотра, но не постоянно

getDay(arg: Date): string {
    if (this.calendarComponent) {
      const view = this.calendarComponent.getApi().view;
      if (view.viewSpec.type === 'timeGridDay') {
        return this.getDayString(arg.getDay());
      } else if (view.viewSpec.type === 'timeGridWeek') {
        return this.getDayString(arg.getDay(), true);
      } else {
        return this.getDayString(arg.getDay(), true);
      }
    }
    return ' ';
  }

При инициализации компонентая установил getDayFunc = this.getDay.bind(this)

...