PrimeNg: ViewChildren QueryList всегда пуст - PullRequest
0 голосов
/ 13 мая 2019

Я использую элемент Datable внутри ngIf. Каждый раз, когда меняется условие ngIf, мне нужно получить доступ к встроенному DataTable:

<div *ngIf="rowVisible">
    <p-table ...>
    </p-table>
</div> 

Мой код компонента:

import { DataTable } from 'primeng/primeng';

@Component({
    moduleId: module.id,
    templateUrl: 'search.component.html',
})
export class SearchComponent {
    @ViewChildren(DataTable) public dataTable: QueryList<DataTable>;

    public ngAfterViewInit(): void
    {
        this.dataTable.changes.subscribe((comps: QueryList<DataTable>) =>
        {
            if (comps.length > 0) {
                comps.first.reset();
            }
        });
    }
}

Однако каждый раз, когда dataTable наблюдаемые изменения, comps.length равен 0.

Есть идеи?

1 Ответ

0 голосов
/ 13 мая 2019
<div *ngIf="rowVisible">
    <p-table #dataTable >
    </p-table>
</div> 

Сеттер для ViewChild ():

 private dataTableRef: ElementRef;

 @ViewChild('dataTable') set dataTableContent(dataTableContent: ElementRef) {
    this.dataTableRef= content;
 }
...