Как исправить ошибку «Не удается найти элемент управления с путем:« tiposT -> 0 -> 0 »» в Angular 7 - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь настроить форму для сбора данных типа комнаты.

Я хочу, чтобы динамически можно было добавлять новые поля в определенные части моей формы.

Я заставил его работать до определенной точки, но теперь я получаю эту ошибку:

Не удается найти элемент управления с путем: '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'

Все, что мне нужно, это выяснить, в чем моя ошибка, почему она не захватывает то, что я печатаю в поле "комната".

Буду очень признателен за любую помощь.Пожалуйста.(

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...