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