У меня есть p-таблица PrimeNG с количеством столбцов и строк, один столбец использует входные данные в качестве редактора ячеек. Компактная версия ниже:
<p-table [value]="rowDatas" selectionMode="single" [(selection)]="selectedRowData">
<ng-template pTemplate="body" let-rowData let-rowIndex="rowIndex">
<tr [pSelectableRow]="rowData">
<td pEditableColumn>
<p-cellEditor>
<ng-template pTemplate="input">
<input id="{{'hours' + rowIndex}}" pInputText type="text" [(ngModel)]="rowData.hours">
</ng-template>
<ng-template pTemplate="output">
{{rowData.hours}}
</ng-template>
</p-cellEditor>
</td>
</ng-template>
У меня есть доступ к таблице с помощью ViewChild
@ViewChild(Table) private table: Table;
Но я не знаю, откуда go оттуда. Документация PrimeNG не дает подсказки, как программно вызвать редактирование ячейки. При поиске в Google это что-то выбрасывает с EditableColumns и onClick, но это не работает и пропускает, какие строки следует редактировать.
Я могу идентифицировать поле ввода по идентификатору, если он присутствует. Но фактический тег input HTML добавляется только в том случае, если ячейка переведена в режим редактирования. Поэтому я не могу использовать стандартный метод getElementById.focus.
Как начать редактирование указанной ячейки c с помощью PrimeNG p-таблицы?