Kopierter Speicherbestand mit lokaler Abfrage und schlüsselbasierten CRUD-Operationen.
Vue: data = [], key = "id". Dart: data ist erforderlich; ohne keyOf sind nur Abfragen möglich. Konstruktion kopiert die Liste. Doppelte Schlüssel, Einfügen vorhandener Schlüssel und Schlüsseländerungen werden abgelehnt. update/remove mit unbekanntem Schlüssel schlagen fehl; byKey liefert undefined/null.
new TxArrayStore<T>(data?: readonly T[], key?: TxSelector<T>): TxArrayStore<T>| Mitglied | Typ / Rückgabe | Verhalten |
|---|---|---|
| data | T[] | Datensätze beziehungsweise Nutzdaten des Ereignisses. |
| key | TxSelector<T> | Stabiler Schlüssel beziehungsweise Selector; nicht mit Widget-Key verwechseln. |
| load | (o: TxLoadOptions<T>) => TxLoadResult<T> | Lädt mit den angegebenen Optionen; bei DataSource ohne Argumente mit aktuellem Abfragezustand. Fehler werden weitergegeben. |
| byKey | (key: TxKey) => T | undefined | Liest einen Datensatz anhand seines Schlüssels; fehlende Schlüssel ergeben undefined (Vue) beziehungsweise null (Dart). |
| insert | (item: T) => T | Fügt einen Datensatz mit eindeutigem Schlüssel ein und liefert ihn zurück. |
| update | (key: TxKey, changes: Partial<T>) => T & Partial<T> | Aktualisiert eine Meldung beziehungsweise einen Datensatz. |
| remove | (key: TxKey) => void | Löscht den Datensatz beziehungsweise rekursiv den Datei-/Ordnerbestand. |
import { TxArrayStore } from '@tekocloud.de/tecexpress'
const store = new TxArrayStore([{ id: 1, text: 'One' }], 'id')
console.log(store.load({ take: 10 }), store.byKey(1))
store.insert({ id: 2, text: 'Two' })
store.update(2, { text: 'Updated' })
store.remove(2)