Я пытаюсь создать редактируемую таблицу PrimeNg с угловыми формами.
app.component.ts (это минимальный воспроизводимый код)
export class AppComponent implements OnInit {
epForm: FormGroup;
range: FormArray;
constructor(private fb: FormBuilder,){
}
ngOnInit() {
this.epForm = new FormGroup({});
this.epForm.addControl('range', new FormArray([]));
this.range = <FormArray>this.epForm.get('range');
this.range.push(
this.fb.group({
type: ['X1 Gene']
})
);
}
}
и HTML-файл
<form [formGroup]="epForm" novalidate>
<p-table [value]="epForm.controls.range.value" [rows]="10" [responsive]="true">
<ng-template pTemplate="header">
<tr> Range </tr>
</ng-template>
<ng-template pTemplate="body" let-i="rowIndex">
<tr [formGroupName]='i'>
<td >
<input type="text" pInputText formControlName="type" />
</td>
</tr>
</ng-template>
</p-table>
</form>
Я пытался с помощью приведенного выше кода отображать содержимое, но я не могу редактировать тег ввода. Я открываю элемент проверки и проверяю его, только ключ tbody
обновляется.
Я удалил [formgroup]='i'
и проверил его в консоли. Я получил следующую ошибку
Cannot find control with path: 'range -> type'
То же самое, что я пробовал с <table>
, работает нормально. Но с помощью p-таблицы у меня такое поведение? Как я могу исправить эту проблему.
StackBlitz
Как показано на рисунке ниже, я получаю в элементе проверки, с [formGroupName]