Как я могу преобразовать события календаря Google в объект date для response-big-calendar - PullRequest
0 голосов
/ 12 мая 2019

Итак, я хочу использовать представление недели для РБК.Я продолжаю получать TypeError: date [("get" + method)] не является функцией

Есть несколько отчетов о проблемах, в которых все говорят, что мне нужен объект date, и на самом деле я могу открытькалендарь, когда я использую этот пример

var myEventsList = [{
 {
    'title': 'Meeting',
    'start': new Date(2017, 3, 12, 10, 30, 0, 0),
    'end': new Date(2017, 3, 12, 12, 30, 0, 0),
    desc: 'Pre-meeting meeting, to prepare for the meeting'
 },
   {
    'title': 'Lunch',
      'start':new Date(2017, 3, 12, 12, 0, 0, 0),
      'end': new Date(2017, 3, 12, 13, 0, 0, 0),
    desc: 'Power lunch'
  }]

Так что я знаю, что мне нужно конвертировать start: 2019-05-14T12:00:00.000Z, в new Date( x,x,x,x,x)

Я пытался сделать это на бэкэнде с такой вещьюthis

      for (let i = 0; i < data.length; i++) {
          events.push({
          title: data[i].summary,
          start: new Date(data[i].start.dateTime),
          end: new Date(data[i].end.dateTime)

Я также пробовал moment(data[i].start.dateTime) вместе с множеством различных предложений поиска в Google со всеми видами .format (), .todate () и т. д., но я продолжаю получать ошибки.

ОБНОВЛЕНИЕ:

Я также попытался настроить его в своем интерфейсе с этим битом

 const events=[]
 const makeDatobj = (data) =>{
   events.map(event => ({
    title : event.title,
     start : new Date(event.start)
   }));

, который я надеюсь инициализировать с помощью

    <BigCalendar
            ...
             localizer={localizer}
             events={events=>makedatobj(data)}
             step={70}
             timeslots={2}
             defaultView="week"
             ...
           />

Но это дает мне TypeError: data.map is not a function

, что просто напоминает мне, что я не знаю, как .map() работает, и я продолжаю сталкиваться с подобными проблемами, когда я пытаюсь использовать это ... Я имеюпопробовал несколько других способов анализа входящих данных с аналогичными степенями сбоя.Я замечаю, что когда я пытаюсь обработать входящие данные, я случайно отключил свой запрос API, чтобы у меня не было данных для работы ... Я действительно делаю этот способ более сложным, чем нужно.

Мне просто нужен простой ответ.Как я могу конвертировать.start: 2019-05-14T12:00:00.000Z, для начала: new date( x,x,x,x,x)?

1 Ответ

0 голосов
/ 12 мая 2019

Конструктор Date также может принимать строку в качестве параметра, поэтому вы можете сделать:

start : new Date("2019-05-14T12:00:00.000Z")

Так что ваш бэкэнд должен выглядеть так, возвращая даты какстроки:

for (let i = 0; i < data.length; i++) {
  events.push({
  title: data[i].summary,
  start: data[i].start.dateTime,
  end: data[i].end.dateTime
}

И ваш код внешнего интерфейса должен быть таким, преобразовав их в Javascript Dates:

events.map(event => ({
  title : event.title,
  start : new Date(event.start)
}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...