第一个下拉选择不过滤第二个下拉

First dropdown selection is not filtering second dropdown

我正在尝试根据第一个下拉列表的选择来过滤下拉列表,在我的控制台日志中,一切都很好,但是第二个下拉列表始终显示所有结果,而不是过滤的结果,我是这样做的:

<!--Group-->
<div class="form-group">
  <label class="control-label dash-control-label col-xs-3">GROUP:</label>
  <div class="col-xs-9">
    <select class="form-control" style="width: 100%;"
            data-minimum-results-for-search="Infinity" name="articleGroups" required (change)="filterSubById(article.mainGroup.id)" [(ngModel)]="article.mainGroup">
      <option disabled [ngValue]="null">-/-</option>
      <option [ngValue]="group" *ngFor="let group of mainGroups">{{group.title}}</option>
    </select>
  </div> 
</div>

<!--Subgroup-->
<div class="form-group">
  <label class="control-label dash-control-label col-xs-3">SUBGROUP:</label>
  <div class="col-xs-9">
    <select class="form-control" style="width: 100%;" name="subGroup" required [(ngModel)]="article.subGroup">
      <option disabled [ngValue]="null">-/-</option>
      <option [ngValue]="subgroup" *ngFor="let subgroup of subGroups">{{subgroup.title}}</option>
    </select>
  </div>
</div>

您需要将 filterBySubId 方法的结果传回视图。您没有对返回值执行任何操作。

我会这样做:

filterSubById(Id) {
    this.filteredSubGroups = this.subGroups.filter(item => item.parentId == Id);
}

在视图中

<option [ngValue]="subgroup"
        *ngFor="let subgroup of filteredSubGroups">{{subgroup.title}}</option>