0
角度のある材質2を使用しています。マルチ選択で角度5を使用します。 検索フィルターを追加しましたが、それらを選択すると、前に選択されたアイテムが削除されます。角材2マルチセレクトで検索(フィルタ)を適用したときに選択した値が保持されない
ユーザーが選択を解除しない限り、すべての選択項目を保持します。
例:私は地域のリストを持っています。ユーザーがアフリカとアジアを選択してからヨーロッパを検索して選択すると、選択されたヨーロッパのみが表示されます。
filterRegion.html
<mat-select [compareWith]="compareFn" placeholder="REGION" [formControl]="region" multiple>
<mat-select-trigger>
{{region.value ? region.value[0]?.value : ''}}
<span *ngIf="region.value?.length > 1" >
(+{{region.value.length - 1}})
</span>
</mat-select-trigger>
<mat-form-field class="searchBox">
<input matInput placeholder="Search" [(ngModel)]="searchRegion" >
</mat-form-field>
<mat-option *ngFor="let r of regionList | filterSearch: searchRegion" [value]="r">{{r.value}}</mat-option>
</mat-select>
フィルタ-検索pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterSearch'
})
export class FilterSearchPipe implements PipeTransform {
transform(value: any, input: string): any {
if (input) {
input = input.toLowerCase();
return value.filter(function (el: Object) {
return el['value'].toLowerCase().indexOf(input) > -1;
})
}
return value;
}
}
をしかし、私はのマットのためのエラーを取得しましたselect-headerとmat-select-searchを使用します。
私はこのUIと同じものが必要です。 https://github.com/angular/material/pull/7782 オートコンプリートとチップをマージするには2つの異なる例があります。おかげさまで – abhy