我有这个html代码:
<tr>
<td><label>G Level 3</label></td>
<td><select [ngModel]="selectedG3" (ngModelChange)="selectG3Changed($event)">
<option></option>
<option *ngFor="let g3 of gLevels3" [ngValue]="g3">{{g3.name}}</option>
</select>
</td>
</tr>
这是我的ts代码:
gLevels3: GLevel[];
getGLevels3(): void {
this.httpServerService.getGLevels(3).subscribe(glevel3 => this.gLevels3 = glevel3);
}
gLevels3 是具有 Objects 的 Array 。我想在每次调用函数 getGLevels3()时更新 select 的选项。
当前它不起作用。调用函数后, select 中仍然有相同的 options 。
如何触发更新?
答案 0 :(得分:0)
我不确定您是否已消除所有其他可能性...副手代码看起来正确。在我处理的代码库中,我们遇到了相同类型的情况。我们有一个筛选选择选项的情况,它正在更新就可以了。
<select class="tool-controls__select" style="margin-right: 4px;" *ngIf="selectFilterOptions.length > 0 && chartIdsDefined" [(ngModel)]="selectedFilterOption" (change)="selectFilterOptionOnChange()">
<option [ngValue]="filterItem" *ngFor="let filterItem of selectFilterOptions">{{filterItem}}</option>
</select>
<select class="tool-controls__select" [(ngModel)]="selectedOption" (change)="selectOnChange()">
<option [ngValue]="item" *ngFor="let item of selectOptions">{{item.name}}</option>
</select>