segmentedButtonBuilder<T> function
A FormFieldBuilder that is the default FastSegmentedButton.builder.
Returns a SegmentedButton that contains the FastSegmentedButton.segments on any TargetPlatform.
Implementation
Widget segmentedButtonBuilder<T>(FormFieldState<Set<T>> field) {
field as FastSegmentedButtonState<T>;
final FastSegmentedButtonState<T>(:didChange, :value!, :widget) = field;
final segmentedButton = SegmentedButton<T>(
emptySelectionAllowed: widget.emptySelectionAllowed,
multiSelectionEnabled: widget.multiSelectionEnabled,
segments: widget.segmentsBuilder(widget.segments, field),
selectedIcon: widget.selectedIcon,
selected: value,
showSelectedIcon: widget.showSelectedIcon,
style: widget.style,
onSelectionChanged: (newSelection) => didChange(newSelection),
);
if (widget.showInputDecoration) {
return InputDecorator(
decoration: field.decoration,
child: segmentedButton,
);
}
return segmentedButton;
}