Я думаю, что проблема заключается не только в фильтрации списка, и, как указал Evaldo , Vue просто борется с рендерингом огромного количества компонентов.
Также рассмотрите возможность замены filterBy
на собственную реализацию фильтра.filterBy
учитывает множество вещей, включая тип списка и дополнительные параметры.Вам нужен минимум.Быстрый способ сделать фильтр массива будет
filters: {
filterBy: (list, searchTerm) => {
if (!searchTerm) return list;
return list.filter(x => x.find(searchTerm) !== -1);
},
},