У меня есть система фильтрации с полем поиска как часть проекта разработки, над которым я работаю. Пользователь может что-то ввести в поле поиска, и он в режиме реального времени отфильтрует массив объектов для соответствующего значения.
Моя проблема в том, что в моем массиве более 3000 объектов, каждый из которых содержит около6 ключей, значение пары. Это массив машин.
Он извлекается из Vuex, и вычисленное свойство проверяет, когда кто-то вводит значение в поле.
Каждый раз, когда я начинаю печатать, возникает пауза, покаон фильтрует массив объектов на соответствие значений ...
export default {
data () {
return {
search: ''
}
},
computed: {
getCars() {
return this.$store.state.localStorage.cars
},
filteredCars: function() {
return this.getCars.filter(car => {
if (car.car != null) {
return car.car.toLowerCase().includes(this.search.toLowerCase())
} else {
return car
}
})
}
}
}
Я думал, что вычисленные свойства работают быстро? Я также пытался использовать https://github.com/foxbenjaminfox/vue-async-computed#usage-example,, но это тоже не решает проблему.