Ich versuche, Optionen in einem HTML-Select innerhalb einer for-Schleife hinzuzufügen. Um die gewählte Option zu erhalten, verwende ich [(ngModel)], aber standardmäßig ist keine Option ausgewählt.ngModel funktioniert nicht in Auswahloptionen innerhalb einer for-Schleife
Beispielcode:
<table align="center">
<tr *ngFor="let d of data; let i = index">
<td>
<select id="status" [(ngModel)]="d.status" name="d.status" (change)="onStatusChange(i, d.id)">
<option *ngFor="let o of statusArray" [ngValue]="o">{{o.name}}</option>
</select>
</td>
</tr>
</table>
Dies ist die Komponente, die ich verwende:
export class AboutComponent implements OnInit {
statusArray;
data;
constructor() { }
ngOnInit() {
this.statusArray = [
{
"id": 1,
"name": "Testing"
},
{
"id": 2,
"name": "Free Trial"
},
{
"id": 3,
"name": "Active/Paying"
}
];
this.data = [
{
"id": 2,
"status": {
"id": 1,
"name": "Testing"
},
"new": false
},
{
"id": 3,
"status": {
"id": 1,
"name": "Testing"
},
"new": false
},
{
"id": 4,
"status": {
"id": 2,
"name": "Free Trial"
},
"new": false
}
];
}
}
Ausgang:
Hier in der Ausgabe i die Optionen in der Liste bin immer aber Standard Wert ist nicht ausgewählt:
Es funktionierte nicht für mich .. Ich bin immer noch nicht in der Lage, die standardmäßig ausgewählte Option zu sehen –
Ich muss für das vollständige Objekt nicht nur für ID .. so immer wenn eine Option geändert wird, ich sollte das vollständige Objekt in haben Das Modell –