Вы должны выдвинуть элемент в массив
использовать
this.Form.value.schoolName.push(data.schoolName[b])
вместо использования this.Form.value.schoolName= data.schoolName[b]
и я не знаю точно, почему вы поместили бы предмет в this.Form.value.schoolName
,
вы можете выдвинуть элементы к глобальному инициированному значению в вашем файле TS, поскольку вы не используете форму в своем HTML, вы все равно сможете связать ее с любым элементом управления с помощью [(ngModel)]
Также я считаю, что использование forEach
вместо for
цикла в этом случае будет более удобным.
* Резюме:
let schoolNames = [], studentNames = [];
if (this.mode == "edit") {
this.schoolService.GetDataById(this.id).subscribe(data =>
{
this.Form.value.schoolName = [];
if (data.schoolName)
forEach(data.studentName, (key, value) => {
schoolNames.push(value);
});
//this.Form.controls["schoolName"].setValue(data.schoolName)
console.log(data.studentName)
this.Form.value.studentName = [];
if (data.studentName)
forEach(data.studentName, (key, value) => {
schoolNames.push(value);
});
//this.Form.controls["studentName"].setValue(data.studentName)
});
}
и установите свои циклы HTML *ngFor="let field of schoolNames
Я не знаю, помогает ли это или нет, но если нет, пожалуйста, попробуйте уточнить ваш вопрос, потому что это лучшее, что я могу предложить с предоставленной информацией.