Остерегайтесь любых "образцов", предоставленных создателями контроля.Они гарантированно представляют только самые основные сценарии и, как правило, не актуальны в реальном мире.Из того, что я вижу в этом элементе управления, пример демонстрирует автозаполнение на стороне клиента, которое для всех практических целей бесполезно.(Просто используйте раскрывающийся список в этом случае) Вы столкнулись с проблемой, потому что вы пытаетесь предоставить полный список всех данных клиенту.Клиентская сторона работает, когда у вас есть относительно небольшое количество элементов (от 100 до 1000), но не когда у вас намного больше.
Для автоматического завершения управления вы хотите найти примеры реализации на стороне сервера.автозаполнение.Это включает в себя привязку элемента управления к HTTP GET / Fetch, чтобы при вводе в элемент управления серверный вызов выполнял и выполнял запрос, чтобы получить предложения, совпадающие с типом человека, и вернуть ограниченное число предложений.(Т.е. 500) Вы должны реализовать логику поиска, такую как поиск совпадений, начиная с того, что набрано, или используя другие методы запросов.Другой важной деталью является также использование debounce для вашего события ввода, чтобы гарантировать, что ваш поиск не будет повторяться при каждом нажатии клавиши пользователем, но ждет, чтобы, если пользователь печатал 4 символа («fred»)") и пауза, 1 поиск уходит на" fred ", а не 4 поиска:" f "," fr "," fre "и" fred ".
С чего начать: https://itnext.io/using-angular-6-material-auto-complete-with-async-data-6d89501c4b79
Возможно, существует большое количество элементов автозавершения для Angular, ищите примеры / реализации на стороне сервера и обязательно добавьте debounce.