Я работаю над задачей, которую мне поручено сгенерировать 10 различных форм ввода и создать массив из 10 пользователей и l oop их, чтобы заполнить поле ввода с помощью Angular.
Так в конце дня у меня будет 10 форм ввода, содержащих массив данных
, но я получаю только последние данные в массиве информации во всех формах.
предварительный просмотр здесь предварительный просмотр
contactForm.component. html
<div*ngFor="let item of info">
<form class="form-signin form" [formGroup]="kForm" (ngSubmit)="onSubmit($event)" >
<div class="form-label-group">
<input type="email" id="inputName" class="form-control" placeholder="Name" formControlName="name" autofocus #name [(ngModel)]="item.name" >
<label for="inputName">Name</label>
</div>
<div class="form-label-group">
<input type="email" id="inputEmail" class="form-control" placeholder="Email address" formControlName="email"
autofocus #email [(ngModel)]="item.email" >
<label for="inputEmail">Email address</label>
</div>
<div class="form-label-group">
<input type="text" id="inputPhone" class="form-control" placeholder="phone" formControlName="phone" #phone [(ngModel)]="item.phone">
<label for="inputPhone">Phone</label>
</div>
<div class="form-label-group">
<input type="text" id="inputCountry" class="form-control" placeholder="country" formControlName="country"
#country [(ngModel)]="item.country" >
<label for="inputCountry">Country</label>
</div>
</div>
</div>
contactForm.component.ts
@Input('theData') data: Contact
constructor(private fb: FormBuilder,
private contactInfo: ContactInfoService) {
}
ngOnInit() {
this.kForm = this.fb.group({
name: [null, [Validators.required]],
email: [null, [Validators.required]],
phone: [null, [Validators.required]],
country: [null, [Validators.required]]
})
this.info= this.contactInfo.information;
}
conatct.service.ts
data: any[];
constructor() { }
information = [
{
name: "lamar",
email: "lamar@gmail.com",
phone: "023232349403",
country: "USA",
},
{
name: "John doe",
email: "johndoe@gmail.com",
phone: "023232349403",
country: "canada",
},
{
name: "sam doe",
email: "sam@gmail.com",
phone: "032322349403",
country: "China",
},
{
name: "dan doe",
email: "dan@gmail.com",
phone: "023232349403",
country: "China",
},
{
name: "anne drick",
email: "anne@gmail.com",
phone: "023232349403",
country: "UK",
},
{
name: "Vals",
email: "vals@gmail.com",
phone: "023232349403",
country: "Singapore",
},
{
name: "daniel crunch",
email: "daniel@gmail.com",
phone: "023232349403",
country: "Guinea",
},
{
name: "bevelo",
email: "bevelo@gmail.com",
phone: "023232349403",
country: "indonesia",
},
{
name: "andreas",
email: "andreas@gmail.com",
phone: "023232349403",
country: "Germany",
},
{
name: "mavis",
email: "mavis@gmail.com",
phone: "023232349403",
country: "London",
},
];
triggerMe() {
console.log("trigger me !");
this.data = this.information;
console.log(this.data);
}