NGX-таблицы данных. Как получить текущий экземпляр таблицы?

У меня есть компонент с таблицей, который получает RowData от другого компонента по @Input. Как я могу получить экземпляр текущей таблицы.

Это часть моего html

<ngx-datatable
        class="material"
        [rows]="inputData"
        [columns]="columns">
</ngx-datatable>

И компонент ts

export class GridComponent implements OnChanges {
 @Input() inputData: [object];

 columns1 = [
  { prop: 'name' },
  { name: 'Gender' },
  { name: 'Company' }
 ];
}

person Ivan    schedule 02.11.2017    source источник
comment
Что вы подразумеваете под получением экземпляра текущей таблицы?   -  person eddyP23    schedule 02.11.2017
comment
Также является ли [object] допустимым типом? Я думаю, вы хотите здесь создать класс для входных данных, чтобы получить вывод типа в своем коде.   -  person eddyP23    schedule 02.11.2017
comment
Я имею в виду какой-то объект, который содержит все данные текущей таблицы. Я пытался использовать что-то вроде таблицы @ViewChild(DatatableComponent): DatatableComponent; Но если у нас есть 2 или более таблиц на одной странице, «таблица» содержит только данные первой таблицы.   -  person Ivan    schedule 02.11.2017


Ответы (1)


@Viewchild - правильный метод, но вы должны использовать его по-другому.

Вот что вы хотите сделать.

HTML:

<ngx-datatable
        #firstTable  
        class="material"
        [rows]="inputData"
        [columns]="columns">
</ngx-datatable>

<ngx-datatable
        #secondTable  
        class="material"
        [rows]="inputData"
        [columns]="columns">
</ngx-datatable>

Компонент.ts:

export class GridComponent implements OnChanges {
 @Input() inputData: [object]; // This line doesn't look right

 @ViewChild('firstTable') myTable1: DatatableComponent;
 @ViewChild('secondTable') myTable2: DatatableComponent;

 columns1 = [
  { prop: 'name' },
  { name: 'Gender' },
  { name: 'Company' }
 ];
}

Вы можете взглянуть на эту страницу для справки: http://learnangular2.com/viewChild/

Дополнение:

Вы также можете использовать @ViewChildren, который выбирает все элементы, в зависимости от ваших потребностей, документы здесь: https://angular.io/api/core/ViewChildren

person eddyP23    schedule 02.11.2017
comment
Большое вам спасибо! - person Ivan; 03.11.2017
comment
@Иван подумайте о том, чтобы принять ответ, если это вам помогло. - person eddyP23; 06.11.2017