在angular2中选择无法设置默认文本
此select语句代码未能设置组件的默认文本在angular2中选择无法设置默认文本,angular,typescript,Angular,Typescript,此select语句代码未能设置组件的默认文本 <select class="selectpicker" data-style="btn btn-primary btn-round" title="Select a Department" [(ngModel)]="selectedDepartment" (ngModelChange)="onChangeDepartment()" required> <option *ngFor="let department o
<select class="selectpicker" data-style="btn btn-primary btn-round" title="Select a Department" [(ngModel)]="selectedDepartment"
(ngModelChange)="onChangeDepartment()" required>
<option *ngFor="let department of departments"
[ngValue]="department" [selected]="department.name == selectedDepartment">
{{department.name}}
</option>
</select>
看起来ngModel不应该是selectedDepartment,因为selectedDepartment是一个字符串,但部门数组包含对象数组 看这里:
[selected]="department.name == selectedDepartment"
很明显,部门是目标
这里您要分配字符串:
this.selectedDepartment = this.department || 'Select A Department';
看起来像一堆类型和变量ya,department是object,但
department.name
是一个字符串。我想说的是:您在Select控件中工作的数据是对象数组。初始化Select后,将出现对象,而不是字符串。。。您应该继续使用console.log()和google chrome开发工具检查代码和数据;)我用[value]=“department.name”[attr.selected]=“department.name===selectedDepartment”>
[selected]="department.name == selectedDepartment"
this.selectedDepartment = this.department || 'Select A Department';