Фильтрация списка с большими данными - VueJs - PullRequest
0 голосов
/ 22 января 2019

Я использую фильтр от фильтра https://github.com/freearhey/vue2-filters. В списке около 5000 записей. Когда я нажимаю одну букву, например, «а» фильтрация занимает около 10 секунд. Когда я ввожу более длинную фразу, это занимает около секунды. Есть ли способ ускорить фильтрацию для одной буквы такого большого списка?

1 Ответ

0 голосов
/ 22 января 2019

Я думаю, что проблема заключается не только в фильтрации списка, и, как указал Evaldo , Vue просто борется с рендерингом огромного количества компонентов.

Также рассмотрите возможность замены filterBy на собственную реализацию фильтра.filterBy учитывает множество вещей, включая тип списка и дополнительные параметры.Вам нужен минимум.Быстрый способ сделать фильтр массива будет

 filters: {
    filterBy: (list, searchTerm) => {
      if (!searchTerm) return list;
      return list.filter(x => x.find(searchTerm) !== -1);
    },
  },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...