角度垫选择,难以设置值

时间:2020-10-27 12:35:27

标签: angular angular-material

我正在尝试构建一个具有多个(动态创建)选择下拉列表的组件,以用作搜索过滤器。选定的过滤器应该显示在芯片上,我正在使用它,问题是在删除过滤器时我想更新下拉菜单中的选定选项。

我在这里阅读了几个相关的答案,但无法正常工作。我缺少明显的东西吗?

这是一个堆叠闪电战:https://stackblitz.com/edit/angular9-material-baseline-yxr1sw

从每个选择中选择一个选项,然后移除一个筹码-两个选择都被清除。

我需要更改哪些内容才能使其正确更新?

1 个答案:

答案 0 :(得分:2)

您使用item.value作为value的{​​{1}}。

mat-option

这些值是原始值,因此不需要filter-select.component.html <mat-option *ngFor="let item of productFilter.options" [value]="item.value">{{item.name}}</mat-option> 函数。

compareWith

并且仅将您的formControl设置为这些项目值

<mat-select multiple [formControl]="filterSelect" (openedChange)="openedChange($event)">

// [compareWith]="compareFn" removed

https://stackblitz.com/edit/angular9-material-baseline-vguwxd?file=src/app/filter-select.component.html