这种问题通常是因为数据源中有重复的项导致的。如果您正在使用一个对象数组作为数据源,那么可能需要使用 Array.reduce() 方法来去除重复项。
例如,以下代码段使用 reduce() 方法去除重复项:
this.filteredOptions = this.options.reduce((acc, option) => { if (!acc.some(item => item.value === option.value)) { acc.push(option); } return acc; }, []);
然后将 filteredOptions 传递给 mat-autocomplete 组件:
这样就解决了 Angular mat-autocomplete 显示错误的筛选选项的问题。