getSuffix method
Returns the suffix widget for the field.
Priority order:
- Progress indicator while isCheckingUniqueField is true.
- Explicit BlocXTextFieldOptions.suffix if set.
- Clear button when BlocXTextFieldOptions.showClearButton is true.
Implementation
Widget? getSuffix(BlocXTextFieldOptions options) {
if (isCheckingUniqueField) {
return SizedBox.square(
dimension: 8,
child: CircularProgressIndicator(
color: colorScheme.primary,
padding: const EdgeInsets.all(8),
),
);
}
if (options.suffix != null) return options.suffix;
final canShowClear = options.showClearButton && !options.obscureText && _controller.text.isNotEmpty;
if (!canShowClear) return null;
return IconButton(
visualDensity: VisualDensity.compact,
tooltip: MaterialLocalizations.of(context).deleteButtonTooltip,
icon: const Icon(Icons.clear),
onPressed: _controller.text.isEmpty
? null
: () {
_controller.clear();
bloc.add(
BlocxFormEventUpdateData(
data: '',
key: widget.formKey,
),
);
setState(() {});
},
);
}