Таблица PrimeNG: как начать редактирование ячейки? - PullRequest
0 голосов
/ 04 мая 2020

У меня есть 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-таблицы?

...