FieldBuilder<T> constructor
FieldBuilder<T> ({
- Key? key,
- required FieldControl<
T> control, - required ControlWidgetBuilder<
T?> builder, - WidgetBuilder? noData,
- bool nullOk = false,
Stream based Widget builder. Listening FieldControlStream.stream
about changes.
control
- required Stream controller. FieldControl or FieldControlSub
.
builder
- required Widget builder. Non 'null' T
value is passed directly.
noData
- Widget to show, when value is 'null'.
nullOk
- Determine where to handle 'null' values. 'true' - 'null' will be passed to builder
.
Implementation
FieldBuilder({
super.key,
required FieldControl<T> control,
required ControlWidgetBuilder<T?> builder,
WidgetBuilder? noData,
bool nullOk = false,
}) : super(
control: control,
builder: (context, snapshot) {
if (snapshot.hasData || nullOk) {
return builder(context, snapshot.data);
}
if (noData != null) {
return noData(context);
}
return Container();
});