带下拉菜单的角度过滤

Yau*_*hen 5 javascript filtering angular

我有以下代码:

HTML:

<select>
  <option *ngFor="let item of items">{{item}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

一些 Angular 服务:

items = [
{name: "item1", type: "type1"},
{name: "item2", type: "type2"},
{name: "item3", type: "type2"}
Run Code Online (Sandbox Code Playgroud)

];

还有一些过滤函数,它按类型过滤数组并返回新数组。

我在按按钮过滤时没有遇到问题,例如:

<button type="button" (click)="Filter('type2')"></button>
Run Code Online (Sandbox Code Playgroud)

但我无法使用下拉菜单来做到这一点。

UPD:解释不正确。 这里现场演示。需要使用品牌名称在选择标签处通过(更改)事件过滤数组

Kir*_*ill 5

设置ngModel获取选定值和change事件来更新列表:

<select [(ngModel)]="selectedBrand" (change)="valueSelected()">
  <option *ngFor="let item of brandName">{{ item }}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

然后在值更改时过滤组件中的项目:

public selectedBrand;
public valueSelected() {
    this.goods = this.goodsService.goods.filter(item => item.name === this.selectedBrand);
}
Run Code Online (Sandbox Code Playgroud)

演示