Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在angular2中选择无法设置默认文本_Angular_Typescript - Fatal编程技术网

在angular2中选择无法设置默认文本

在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语句代码未能设置组件的默认文本

<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';