Lifecycle-Mixin für eigene StatefulWidgets mit Datenbindung. sourceInput implementieren; nur selbst erzeugte Sources werden entsorgt.
| Mitglied / Typ / Rückgabe | Bedeutung |
|---|---|
Object? get sourceInput | Vom eigenen State implementierte List-/Konfigurations-/Instanzbindung. |
List<T> get sourceFallback | Ersatzliste ohne gebundene Source. |
TxDataSource<T>? boundSource | Aktuell gebundene Source; fremde Instanzen bleiben im Besitz des Aufrufers. |
void sourceChanged() | Hook nach Änderungen einer gebundenen Source; für eigene States überschreiben. |
List<T> get sourceItems | Aktuell sichtbare Datensätze der Bindung. |
void dispose() | Beendet Abfragen und Listener; danach die Instanz nicht mehr verwenden. |
import 'package:flutter/material.dart';
import 'package:tecexpress/tecexpress.dart';
class BoundLabel extends StatefulWidget {
const BoundLabel({super.key, required this.source});
final Object source;
@override
State<BoundLabel> createState() => _BoundLabelState();
}
class _BoundLabelState extends State<BoundLabel>
with TxSourceState<BoundLabel, String> {
@override
Object get sourceInput => widget.source;
@override
Widget build(BuildContext context) => Text(sourceItems.join(', '));
}