Массив пользователей может иметь несколько элементов (пользователей). В шаблоне я перебираю этот массив и добавляю форму для каждого элемента. Сейчас каждая форма привязывается к одним и тем же значениям группы форм. Если я заполню форму для первого пользователя, кнопки отправки всех форм станут активными. Как указать каждой форме на уникальную formGroup или на уникальные переменные?
составная часть:
import { FormControl, FormGroup, Validators, FormBuilder} from '@angular/forms';
...
export class UserComponent implements OnInit {
form: FormGroup;
@input users: any[];
constructor(private _fb: FormBuilder) {}
ngOnInit() {
this.form = this._fb.group({
address: new FormControl('', [Validators.required]),
phone: new FormControl('', [Validators.required]),
});
}
add() {
if (this.form.valid){
// code
}
}
Шаблон:
<div *ngFor="let user if users">
{{user.name}}
<form [formGroup]="form" (ngSubmit)="add()">
<div class="form-group">
<label>Address:</label>
<input formControlName="address" class="form-control">
<label>Phone:</label>
<input formControlName="phone" class="form-control"></input>
</div>
<button type="submit" class="submit" [disabled]="!form.valid">Submit</button>
</form>
</div>