оптимизируйте filterpredicate для поддержки таблицы angular mat с источником данных более 80 тыс. записей

#html #angular-material #angular8

#HTML #angular-материал #angular8

Вопрос:

Я создал таблицу angular mat с 100 записями в источнике данных, я применил функцию предиката фильтра ко всем данным для поддержки сложных поисковых запросов, в основном поиск по столбцам с использованием «И» в качестве предложения по умолчанию таблица данных с записямиподдерживаемые поисковые запросы включают:

  • levi (любая простая строка, которая выполняет поиск по всем записям, по всем столбцам)
  • цвет = серый (поиск по столбцам, поиск по указанному имени столбца)
  • color = gray И name = jasper (поиск определенных записей путем объединения разных имен столбцов с помощью И»)

Предикат фильтра хорошо работает, когда записей меньше (2k), но это занимает время, n заставляет браузер зависать, когда записи постепенно увеличиваются (20k-80k).Я хотел бы знать, может ли логика, которую я реализовал в filter Predicate, быть оптимизирована для поддержки огромного количества записей или, в качестве альтернативы, не вызывать зависания браузера.

И вот ссылка на stackblitz