Ошибка выполнения: не удается найти элемент управления с именем: '1' - PullRequest
1 голос
/ 10 апреля 2020

Я использую HTTP-запрос для получения списка элементов в ionViewDidLoad (). Я хочу отобразить список элементов со знаком плюс и минус с полем ввода между ними. Каждый элемент состоит из поля «id» и «name». Я хотел бы использовать 'id' каждого из элементов, чтобы различать, когда он передается. Как объявить formControlName во входном теге в качестве каждого идентификатора элемента?

enter image description here

<ion-item  *ngFor="let item of items">
  <ion-label fixed>{{item.name}}</ion-label>
  <ion-icon item-end name="remove-circle" (click)="decreaseAmount(item.id)"></ion-icon>
  <input item-end placeholder="Quantity" type="tel" formControlName={{item.id}} 
      (click)="changeAmount(item.id, 'item.id')" ion-text text-center [style.width]="'50px'"/>
  <ion-icon item-end name="add-circle" (click)="increaseAmount(item.id)"></ion-icon>
</ion-item>

внутри TS-файла

this.itemForm = this._formBuilder.group({
  items:this.getItems()
});

this.getItems () вернет

[[id: 1, имя: Apple], [id: 2, имя: Mango] ...]

ОБНОВЛЕНИЕ:

Мне удалось использовать item.id в качестве имени для ввода, но как мне объявить каждый идентификатор элемента в this._formBuilder.group ?? Когда я добавлю его вручную, он будет работать, но в реальном приложении я не буду знать, сколько будет элементов.

this.itemForm = this._formBuilder.group({
      items:this.getItems(),
      1:[0, Validators.required],
      2:[0, Validators.required],
      3:[0, Validators.required],
      4:[0, Validators.required],
      5:[0, Validators.required],
      6:[0, Validators.required],
      7:[0, Validators.required],
      8:[0, Validators.required],
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...