Angular 如何给选定选项标记-角度2

Angular 如何给选定选项标记-角度2,angular,Angular,我有一个简单的select标记,它从数据库中获取数据 <select *ngIf="projects.length" [(ngModel)]="selectedProject"> <option *ngFor="let projectTypeModel of projects" [ngValue]="projectTypeModel">{{projectTypeModel.ProjectName}}</option> </select> {{p

我有一个简单的select标记,它从数据库中获取数据

<select *ngIf="projects.length" [(ngModel)]="selectedProject">
<option *ngFor="let projectTypeModel of projects" [ngValue]="projectTypeModel">{{projectTypeModel.ProjectName}}</option>
</select>

{{projectTypeModel.ProjectName}
我想显示文本“选择项目类型”作为默认选择。 我添加的代码是:

<select *ngIf="projects.length" [(ngModel)]="selectedProject">
 <option [selected]="true">Select Project Type</option>
 <option *ngFor="let projectTypeModel of projects" [ngValue]="projectTypeModel">{{projectTypeModel.ProjectName}}</option>
 </select>

选择项目类型
{{projectTypeModel.ProjectName}
但这是行不通的。有什么指示吗?

试试这个

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  template: `
    <select *ngIf="projects.length" [(ngModel)]="selectedProject">
     <option [selected]="true" value="" disabled>Select Project Type</option>
     <option *ngFor="let opt of projects" [value]="opt.value">{{opt.ProjectName}}</option>
    </select>
  `
})
export class AppComponent {
  selectedProject: string = ''; // string or number

  projects = [
    { ProjectName: "option 1", value: 'op1' },
    { ProjectName: "option 2", value: 'op2' },
    { ProjectName: "option 3", value: 'op3' },
  ];
}
从'@angular/core'导入{Component};
@组成部分({
选择器:'应用程序根',
模板:`
选择项目类型
{{opt.ProjectName}
`
})
导出类AppComponent{
selectedProject:string='';//字符串或数字
项目=[
{ProjectName:“选项1”,值:'op1'},
{ProjectName:“选项2”,值:'op2'},
{ProjectName:“选项3”,值:'op3'},
];
}

在线演示:

这在UI中很好地工作。然而,当我再次选择此选项时,我收到了错误的请求,因为我正在调用方法以基于此值填充项目。这与第一个问题无关。为了使UI和代码都正常工作,我只是在选项中添加了一个禁用的标记。请选择项目类型您的意思是,第一个选项。我认为是这样,因为第一个选项不包含
->请求将不符合API要求。我只想提一件事:
[selected]=“true”
在这里完全不起作用。