У меня есть таблица PrimeNG в качестве дочернего компонента, и она имеет следующий код:
child-component.html
<p-table
[value]="data"
[autoLayout]="true"
[loading]="loading"
[(selection)]="selectedItems" #dt
>
child-component.ts
@Component({
selector: "manager-grid",
templateUrl: "./grid.component.html",
styleUrls: ["./grid.component.scss"],
encapsulation: ViewEncapsulation.None
})
export class GridComponent implements OnInit {
public _data: Array<any>;
public _settings: any;
public _loading: boolean;
public total = 100;
public selectedItems: any[];
public _columnFilters: any;
@ViewChild('dt') table: Table;
Теперь я включаю этот компонент в родительские компоненты следующим образом:
<manager-grid [data]="data" [settings]="tableSettings" [loading]="isLoading"></manager-grid>
Дочерний компонент добавляется в модальном режиме, поэтому, когда я пытаюсь получить доступ к переменной selectedItems
, он возвращает undefined
. Я использую для этого следующий код:
@ViewChild(GridComponent) gridComponent: GridComponent;
const items = this.gridComponent.selectedItems;
Я использую модальный NG Bootstrap и думаю, что проблема в том, что при инициализации страницы дочерний компонент не является частью DOM, как в модальном. Как я могу получить доступ к элементу внутри модального окна? Любое обходное решение?
const items = this.gridComponent.selectedItems;
- person Anton Kononenko   schedule 27.09.2020selection
из таблицы PrimeNG? - person Anton Kononenko   schedule 27.09.2020ViewChildren
- person Happy Coder   schedule 27.09.2020