Я пытаюсь настроить форму для сбора данных типа комнаты.
Я хочу, чтобы динамически можно было добавлять новые поля в определенные части моей формы.
Я заставил его работать до определенной точки, но теперь я получаю эту ошибку:
Не удается найти элемент управления с путем: 'tiposT -> 0 -> 0'
По какой-то причине он не хочет захватить запись для моего второго formarray
.
Я пробовал разные методы, но все выдают одну и ту же ошибку.Итак, я думаю, что логика не проблема.Я предполагаю, что это синтаксическая ошибка.
Вот мой formarray
:
<div formArrayName="tiposT">
<div style="margin-top:5px; margin-bottom:5px;" *ngFor="let tipo of NWTipoHabiForm.controls.tiposT['controls']; let i_TiposT=index">
В этом у меня есть formgroup
:
<div formGroupName="{{i_TiposT}}">
С помощьюэти кнопки, я могу добавить больше поля:
<button style="margin-right:5px;" type="button" class="btn btn-success btn-sm" (click)="addTCamas(i_TiposT)">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Nueva Cama
</button>
<button style="margin-right:5px;" type="button" class="btn btn-success btn-sm" (click)="addRooms(i_TiposT)">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Nueva Habitacion
</button>
Теперь вот моя проблема: он захватывает данные в одном из подпункта formarrays
, но не для другого.
<div class="form-inline">
<div class="form-group">
<div formArrayName="tiposCamas">
<div style="margin-top:5px; margin-bottom:5px;" *ngFor="let beds of tipo['controls'].tiposCamas['controls']; let i_TCamas=index">
<div formGroupName="{{i_TCamas}}">
<div class="form-group">
<mat-form-field>
<input matInput placeholder="# de Cama" formControlName="numCamas">
</mat-form-field>
<mat-form-field>
<input matInput placeholder="Tipo de Cama" formControlName="camas">
</mat-form-field>
<button style="margin-right:5px;" type="button" class="btn btn-danger btn-sm" (click)="deleteTiposCamas(tipo.controls.tiposCamas, j)">
<span class="glyphicon glyphicon-minus"aria-hidden="true">Remover Cama</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-inline">
<div class="form-group">
<div fromArrayName="rooms">
<div style="margin-top:5px; margin-bottom:5px;" *ngFor="let room of tipo['controls'].rooms['controls']; let i_rooms=index">
<div formGroupName="{{i_rooms}}">
<div class="form-group">
<mat-form-field>
<input matInput placeholder="# de Habitacion" formControlName="room">
</mat-form-field>
<button style="margin-right:5px;" type="button" class="btn btn-danger btn-sm" (click)="deleteRooms(tipo.controls.rooms, r)">
<span class="glyphicon glyphicon-minus"aria-hidden="true">Remover Habitacion</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
formarray
"tiposCamas" работает нормально, но затем formarray
"Rooms":
<div fromArrayName="rooms">
<div style="margin-top:5px; margin-bottom:5px;" *ngFor="let room of tipo['controls'].rooms['controls']; let i_rooms=index">
<div formGroupName="{{i_rooms}}">
<div class="form-group">
<mat-form-field>
<input matInput placeholder="# de Habitacion" formControlName="room">
</mat-form-field>
<button style="margin-right:5px;" type="button" class="btn btn-danger btn-sm" (click)="deleteRooms(tipo.controls.rooms, r)">
<span class="glyphicon glyphicon-minus"aria-hidden="true">Remover Habitacion</span>
</button>
</div>
</div>
</div>
</div>
Он просто выдает мне ошибку:
Не могунайти контроль с помощью пути: 'tiposT -> 0 -> 0'
Все, что мне нужно, это выяснить, в чем моя ошибка, почему она не захватывает то, что я печатаю в поле "комната".
Буду очень признателен за любую помощь.Пожалуйста.(