我正在尝试构建一个具有多个(动态创建)选择下拉列表的组件,以用作搜索过滤器。选定的过滤器应该显示在芯片上,我正在使用它,问题是在删除过滤器时我想更新下拉菜单中的选定选项。
我在这里阅读了几个相关的答案,但无法正常工作。我缺少明显的东西吗?
这是一个堆叠闪电战:https://stackblitz.com/edit/angular9-material-baseline-yxr1sw
从每个选择中选择一个选项,然后移除一个筹码-两个选择都被清除。
我需要更改哪些内容才能使其正确更新?
答案 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