Vergleichs-/Textfilter und verschachtelte UND-, ODER- und NICHT-Verknüpfungen.
Standardoperator ist Gleichheit. Textoperatoren ignorieren Groß-/Kleinschreibung. Leeres AND ist wahr, leeres OR ist falsch. Dart matches(item) liefert bool, Vue txMatches(item, filter) boolean. Getterfehler werden weitergegeben.
TxFilter
| Parameter | Typ | Standard | Bedeutung |
|---|---|---|---|
| selector | TxGetter<T>? | erforderlich | Feldpfad oder Getter des Abfragewerts. |
| value | Object? | erforderlich | Aktueller Eingabe-/Optionswert. |
| operator | TxFilterOperator | TxFilterOperator.equal | Vergleichs-/Textoperator. |
TxFilter.and
| Parameter | Typ | Standard | Bedeutung |
|---|---|---|---|
| filters | List<TxFilter<T>> | erforderlich | Unterfilter der logischen Verknüpfung. |
TxFilter.or
| Parameter | Typ | Standard | Bedeutung |
|---|---|---|---|
| filters | List<TxFilter<T>> | erforderlich | Unterfilter der logischen Verknüpfung. |
TxFilter.not
| Parameter | Typ | Standard | Bedeutung |
|---|---|---|---|
| filter | TxFilter<T> | erforderlich | Filterausdruck. |
| Mitglied / Typ / Rückgabe | Bedeutung |
|---|---|
final List<TxFilter<T>>? children | Unterfilter beziehungsweise enthaltene Widgets. |
final String? junction | Verknüpfung and/or/not eines zusammengesetzten Filters. |
bool matches(T item) | Prüft synchron einen Datensatz gegen diesen Filter. |
import 'package:tecexpress/tecexpress.dart';
Future<void> example() async {
final adult = TxFilter<int>((v) => v, 18, operator: TxFilterOperator.greaterOrEqual);
print(adult.matches(20));
print(TxFilter.and([adult, TxFilter.not(TxFilter<int>((v) => v, 30))]).matches(20));
print(TxFilter.or([adult]).matches(20));
}