RadCalendar не обновляет события, когда новое событие добавлено программно - PullRequest
0 голосов
/ 26 февраля 2019

Я использую RadCalendar с Nativescript-Vue и пытаюсь разрешить пользователю вручную (через форму) добавить событие, но как только событие помещается в eventSource, календарь не реагирует на него (он не отображается вПосмотреть).Если я сделаю заново календарь, он покажет только что добавленное событие. Есть идеи, почему Календарь не реагирует на это изменение и не добавляет новое событие?

EventSource имеет переменную с именем calendarEvents, привязанную к нему.

<RadCalendar height="100%" width="100%" ref="calendarComponent"
        id="calendar"
        :eventSource="calendarEvents"

        eventsViewMode="Inline"
        selectionMode="Single"
        viewMode="Month"
        transitionMode="Slide"

        @dateSelected="onDateSelected"
        @dateDeselected="onDateDeselected"
        @navigatedToDate="onNavigatedToDate"
        @navigatingToDateStarted="onNavigatingToDateStarted"
        @viewModeChanged="onViewModeChanged"
        @inlineEventSelected="onInlineEventSelected" />

И вот метод, который должен добавить событие в календарь:

    onAddBookingExternal () {
      this.$showModal(BookingExternal).then((data) => {
        if(data) {
          ...          
          let event = new calendarModule.CalendarEvent('Name', startDate, endDate, false, color)

          this.calendarEvents.push(event)
        }
      })
    },

Спасибо за помощь!

1 Ответ

0 голосов
/ 26 февраля 2019

Это известная проблема с RadCalendar, вам нужно будет дать новую ссылку на массив для обновления пользовательского интерфейса.Простое добавление данных в один и тот же массив не вызывает обновления.

onAddBookingExternal () {
  this.$showModal(BookingExternal).then((data) => {
    if(data) {
      ...          
      let event = new calendarModule.CalendarEvent('Name', startDate, endDate, false, color)

      this.calendarEvents = [...this.calendarEvents, event];
    }
  })
}

Образец игровой площадки

...