Кнопки создаются с использованием *ngFor
, возвращая столько различных типов значений, доступных для фильтрации.Я выполняю фильтрацию по ключу «location», поэтому, если есть местоположения «west» и «england», тогда доступны две кнопки «west» и «england» для фильтрации.
Что яхотите иметь возможность выбрать несколько фильтров.Если я нажимаю «Англия», возвращаются все результаты для «Англии», затем, если я нажимаю «Запад», возвращается «Запад», а «Англия» остается «активной».В настоящее время я могу щелкнуть только по одному фильтру за раз.
Я думаю, что мне нужно назначить активный класс для моей кнопки, тогда это подтолкнет массив того, что активно, отправить в мой канал, чтобы выполнить фильтрацию ...?
Кнопка «Мой фильтр»
<div ngDefaultControl [(ngModel)]="filteredLocation" name="locationFilter" id="locationFilter">
<button value="All" class="m-2 btn btn-primary" type="button">All</button>
<button [class.active]="selectedIndex === i" (click)="filteredLocation = entry.location" class="m-2 btn btn-primary" type="button" *ngFor="let entry of timeLine | filterUnique; let i = index">{{entry.location}}</button>
</div>
один фильтр по результатам
<div class="timeline">
<my-timeline-entry *ngFor="let entry of timeLine | filter:filteredLocation:'location'" timeEntryHeader={{entry.year}} timeEntryContent={{entry.detail}} timeEntryPlace={{entry.place}} timeEntryLocation={{entry.location}}></my-timeline-entry>
</div>
Я создал стекУ меня есть - попробуйте нажать на фильтр, вы увидите, что только один фильтр может быть применен одновременно.https://stackblitz.com/edit/timeline-angular-7-nve3zw
Любая помощь здесь будет отличной.Спасибо