Установка источника данных для нового источника данных MatTable Angular 7 - PullRequest
0 голосов
/ 30 мая 2019

Когда я устанавливаю свой источник данных в массив и пытаюсь установить dataSource для новой таблицы матов dataSource, чтобы можно было использовать фильтрацию, я получаю сообщение об ошибке:

В типе 'MatTableDataSource' отсутствуют следующие свойства из типа 'TableRecord []': длина, pop, push, concat и еще 24.

Однако, если я установлю любой источник данных, он будет работать нормально. Может кто-нибудь, пожалуйста, помогите мне понять, почему:

service.ts

export interface PaginatedListResponse<TableRecord>{
  length: number,
  tableRows: Array<TableRecord>
}

export interface TableRecord{
  x: string,
  y: string,
  z: boolean,

}

.ts

dataSource: TableRecord[] = [];
this.dataSource = new MatTableDataSource(response.tableRows);
//errror: Type 'MatTableDataSource<TableRecord>' is missing the following properties from type 'TableRecord[]': length, pop, push, concat, and 24 more.

рабочий пример

    dataSource: any;
    this.dataSource = new MatTableDataSource(response.tableRows);
   //No error

1 Ответ

1 голос
/ 30 мая 2019

Объявление источника данных неверно. Сделайте это так:

dataSource: MatTableDataSource<TableRecord> = new MatTableDataSource([]) ;

Затем, когда вы получаете данные из бэкэнда:

   this.dataSource.data = response.tableRows;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...