访问 FormArray 中的对象属性并更新 Angular 中的值 4
Access object properties in a FormArray and update the values in Angular 4
我想从表单访问对象属性和绑定值。到目前为止,我尝试了不同的选择但没有成功。这是我到目前为止所拥有的,我已经简化了下面的代码:
表单组:
this.form = this.fb.group({
ingredients: new FormArray([this.fb.group({name: 'Pasta', price: ''})])
})
查看代码:
<div formArrayName="ingredients">
<ion-item *ngFor="let ingredient of form['controls'].ingredients['controls']; let i = index" padding-bottom>
<div [formGroupName]="i">
<ion-input formControlName="price" type="number"></ion-input>
</div>
</ion-item>
</div>
上面的代码是出于这个问题的目的而简化的,场景是不同的,但最后我想更新对象内的价格值。我在做研究时看到了很多方法,但似乎没有一种对我有用。
试试这个:-
<form [formGroup]="form">
<div formArrayName="ingredients">
<div *ngFor="let ingredient of form['controls'].ingredients['controls']; let i = index" [formGroupName]="i">
<input formControlName="price" type="number"/>
</div>
</div>
</form>
和 ts :-
form: FormGroup;
constructor(builder: FormBuilder) {
this.form = builder.group({
ingredients: new FormArray([
builder.group({
name: 'Pasta',
price: '',
})
]);
})
}
请查看此插件以获取解决方案。
http://plnkr.co/edit/it3VW8wvYfYmk2Ox6M60?p=preview
我想从表单访问对象属性和绑定值。到目前为止,我尝试了不同的选择但没有成功。这是我到目前为止所拥有的,我已经简化了下面的代码:
表单组:
this.form = this.fb.group({
ingredients: new FormArray([this.fb.group({name: 'Pasta', price: ''})])
})
查看代码:
<div formArrayName="ingredients">
<ion-item *ngFor="let ingredient of form['controls'].ingredients['controls']; let i = index" padding-bottom>
<div [formGroupName]="i">
<ion-input formControlName="price" type="number"></ion-input>
</div>
</ion-item>
</div>
上面的代码是出于这个问题的目的而简化的,场景是不同的,但最后我想更新对象内的价格值。我在做研究时看到了很多方法,但似乎没有一种对我有用。
试试这个:-
<form [formGroup]="form">
<div formArrayName="ingredients">
<div *ngFor="let ingredient of form['controls'].ingredients['controls']; let i = index" [formGroupName]="i">
<input formControlName="price" type="number"/>
</div>
</div>
</form>
和 ts :-
form: FormGroup;
constructor(builder: FormBuilder) {
this.form = builder.group({
ingredients: new FormArray([
builder.group({
name: 'Pasta',
price: '',
})
]);
})
}
请查看此插件以获取解决方案。 http://plnkr.co/edit/it3VW8wvYfYmk2Ox6M60?p=preview