Ich habe hier alle Beiträge durchgesehen und kann immer noch nicht funktionieren. Ich versuche ein Dropdown in Angular2 zu implementieren, das zuerst einen ausgewählten Wert anzeigt.Angular2 Gewähltes Element im Drop-down-Menü wird nicht angezeigt
HTML.
<div class="col-sm-8">
<div class="form-group">
<select [(ngModel)]="selectedProjectType" class="form-control" required name="projectType">
<option *ngFor="let projectType of projectTypes"> {{projectType.name}}</option>
</select>
<p *ngIf="selectedProjectType">{{selectedProjectType.projectType}}</p>
</div>
</div>
-Controller
selectedProjectType: ProjectType;
constructor(
private projectsService: ProjectsService){
this.project = new Project();
this.route.params
.subscribe((params: Params) => {
this.projectsService.getProject(params['id']).then((project) => {
this.project = project;
this.selectedProjectType = project.projectType;
});
});}
Der Absatz zeigt den richtigen ausgewählten Projekttyp, während die Auswahl der erste Option zeigt. Ich schätze, ich habe es richtig zugewiesen, aber ich habe ein Problem, es als ausgewählten Wert für die Auswahl zu setzen. Ich bin ein Anfänger bei Angular2 und ich kann nicht finden, was ich falsch mache. Danke für die Hilfe.
ich ngValue verwende seit Project kein String ist und die Drop-Down zeigt leere .. – nagam11
Wenn es um den Anfangswert ist (ausgewählt durch Code), müssen Sie 'compareWith' verwenden, wie in https://stackoverflow.com/questions/43008374/how-to-set-the-initial-value-in-a-dropdown-in-angular2-for-a- gezeigt -different-object/43008423 # 43008423 –
Es hat funktioniert! Vielen Dank !! – nagam11