SmartSearchDropdown<T>.withCubit constructor
const
SmartSearchDropdown<T>.withCubit ({
- Key? key,
- required SmartPaginationCubit<
T> cubit, - required PaginationRequest searchRequestBuilder(
- String query
- required Widget itemBuilder(
- BuildContext context,
- T item
- ValueChanged<
T> ? onItemSelected, - SmartSearchConfig searchConfig = const SmartSearchConfig(),
- SmartSearchOverlayConfig overlayConfig = const SmartSearchOverlayConfig(),
- InputDecoration? decoration,
- TextStyle? style,
- Widget? prefixIcon,
- Widget? suffixIcon,
- bool showClearButton = true,
- BorderRadius? borderRadius,
- WidgetBuilder? loadingBuilder,
- WidgetBuilder? emptyBuilder,
- Widget errorBuilder(
- BuildContext context,
- Exception error
- IndexedWidgetBuilder? separatorBuilder,
- WidgetBuilder? headerBuilder,
- BoxDecoration? overlayDecoration,
- bool showSelected = false,
- Widget selectedItemBuilder(
- BuildContext context,
- T item,
- VoidCallback onClear
- T? initialSelectedValue,
- String? validator()?,
- TextInputAction textInputAction = TextInputAction.search,
- List<
TextInputFormatter> ? inputFormatters, - AutovalidateMode? autovalidateMode,
- ValueChanged<
String> ? onChanged, - int? maxLength,
- TextCapitalization textCapitalization = TextCapitalization.none,
- TextInputType keyboardType = TextInputType.text,
Creates a search dropdown with an external cubit.
Implementation
const SmartSearchDropdown.withCubit({
super.key,
required SmartPaginationCubit<T> cubit,
required this.searchRequestBuilder,
required this.itemBuilder,
this.onItemSelected,
this.searchConfig = const SmartSearchConfig(),
this.overlayConfig = const SmartSearchOverlayConfig(),
this.decoration,
this.style,
this.prefixIcon,
this.suffixIcon,
this.showClearButton = true,
this.borderRadius,
this.loadingBuilder,
this.emptyBuilder,
this.errorBuilder,
this.separatorBuilder,
this.headerBuilder,
this.footerBuilder,
this.overlayDecoration,
this.showSelected = false,
this.selectedItemBuilder,
this.initialSelectedValue,
this.validator,
this.textInputAction = TextInputAction.search,
this.inputFormatters,
this.autovalidateMode,
this.onChanged,
this.maxLength,
this.textCapitalization = TextCapitalization.none,
this.keyboardType = TextInputType.text,
}) : _cubit = cubit,
_request = null,
_provider = null,
_listBuilder = null,
_onInsertionCallback = null,
_maxPagesInMemory = 5,
_logger = null,
_retryConfig = null,
_dataAge = null,
_orders = null;