Вот пример хорошо реализованных элементов управления выбора и множественного выбора с использованием Angular Материал:
https://stackblitz.com/edit/mat-select-search
Недостатком является то, что они используют жестко закодированные данные ( массив).
Как реализовать то же самое, но с использованием асинхронных c данных (считанных из API, как Observable), не подписываясь прямо на значения, но используя async
трубу в представлении и показывая индикатор прогресса при необходимости?