Угловые, машинописный текст, диаграммы Google - Тип (Дата | число) [] [] нельзя назначить для типа Массив> - PullRequest
1 голос
/ 28 октября 2019

Я использую Angular 8 с модулем Google Charts.

Я пытался создать Диаграмму Календаря Google , чтобы добавить ее в некоторые другие уже работающие диаграммы Google.

Однако, в моем component.html при передаче данных я получаю сообщение об ошибке (предупреждение от IDE), что Type (Date|number)[][] is not assignable to type Array<Array<string|number>>. Я в растерянности, потому что мне кажется, что я передаю двумерный массив дат и значений по мере необходимости.

Хотя мой интерфейс компилируется, когда я перехожу на страницу с календарем Google,страница зависает / застревает.

Мой thing.component.html :

<google-chart
            [type]="Calendar"
            [data]="calendarChartData"  <----------------------- HERE IS THE ERROR
            [columnNames]="calendarChartColumnNames"
            [options]="calendarChartOptions">
</google-chart>

Мой thing.component.ts :

calendarChartOptions = {
    title: 'Some title',
    height: 350,
    calendar: {
      dayOfWeekLabel: {
        fontName: 'Times-Roman',
        fontSize: 12,
        color: '#1a8763',
        bold: true,
        italic: true,
      },
      dayOfWeekRightSpace: 10,
      cellSize: 10,
    }
  };
  calendarChartColumnNames = ['Date', 'someNumber'];
  calendarChartData = [
    [new Date(2019, 3, 13), 333],
    [new Date(2019, 9, 16), 372],
    [new Date(2019, 9, 17), 5333],
    [new Date(2019, 9, 18), 3702],
    [new Date(2019, 9, 19), 3103],
    [new Date(2019, 9, 20), 2244],
    [new Date(2019, 9, 21), 9531],
    [new Date(2019, 9, 22), 5503]
  ];

Мой Some.module.ts :

...
import { GoogleChartsModule } from 'angular-google-charts';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
...

1 Ответ

1 голос
/ 28 октября 2019

Я не использовал Google Charts раньше ...

Из-за ошибки кажется, что все, что вам нужно сделать, это преобразовать ваши даты в строки ..

...
calendarChartData = [
    [new Date(2019, 3, 13).toISOString(), 333],
    [new Date(2019, 3, 13).toDateString(), 333], // not sure exactly which format the module requires.
    ...
  ];
...