Angular2在下拉列表中选择的项目不显示
问题描述:
我一直在这里经历所有帖子,但仍然无法工作。我试图在Angular2中实现一个下拉菜单,它首先显示一个选定的值。Angular2在下拉列表中选择的项目不显示
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>
控制器
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;
});
});}
段落显示正确的选择项目类型而选择显示的第一个选项。所以我猜我已经分配了它的权利,但我有一个问题,把它作为选择的选定值。我是Angular2的初学者,我找不到我做错了什么。感谢您的帮助。
答
如果该值不是一个字符串,在<option>
使用[ngValue]="..."
:
<option *ngFor="let projectType of projectTypes" [ngValue]="projectType> {{projectType.name}}</option>
我使用ngValue因为项目类型是不是字符串,并且下拉显示空白.. – nagam11
如果它是关于初始值(通过选择代码),您需要使用'compareWith',如https://stackoverflow.com/questions/43008374/how-to-set-the-initial-value-in-a-dropdown-in-angular2-for-a - 不同的对象/ 43008423#43008423 –
它工作!万分感谢 !! – nagam11