javascript / beginner
Snippet
Reaktives Filtern von Listen mit Computed Properties
Die Verwendung integrierter JavaScript-Array-Methoden wie filter innerhalb einer computed-Eigenschaft ermöglicht es, reaktive abgeleitete Listen zu erstellen, die sich bei Änderungen von Sucheingaben oder Daten automatisch aktualisieren.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import { ref, computed } from 'vue';const searchQuery = ref('');const items = ref([{ id: 1, name: 'Apple', inStock: true },{ id: 2, name: 'Banana', inStock: false },{ id: 3, name: 'Avocado', inStock: true }]);const filteredInStockItems = computed(() => {return items.value.filter(item => item.inStock).filter(item => item.name.toLowerCase().includes(searchQuery.value.toLowerCase()));});
vue
Erklärung
1
const searchQuery = ref('');
Erstellt eine reaktive String-Referenz zur Speicherung der Suchanfrage des Benutzers.
2
const items = ref([ ... ]);
Initialisiert ein reaktives Array von Objekten mit Produktdaten.
3
const filteredInStockItems = computed(() => {
Definiert eine zwischengespeicherte computed-Eigenschaft, die Abhängigkeiten verfolgt und nur bei Bedarf neu berechnet.
4
return items.value.filter(item => item.inStock)
Verwendet die native Array-Methode filter, um nur vorrätige Artikel zu behalten.
5
.filter(item => item.name.toLowerCase().includes(searchQuery.value.toLowerCase()));
Hängt einen zweiten Filter an, um Artikelnamen unabhängig von Groß- und Kleinschreibung mit der Suchanfrage abzugleichen.