SearchConfig<T> constructor

SearchConfig<T>({
  1. required List<T> items,
  2. required ItemBuilder<T> itemBuilder,
  3. PropertySelector<T>? propertySelector,
  4. ItemFilter<T>? customFilter,
  5. String searchFieldLabel = 'Search...',
  6. Widget? noResultsWidget,
  7. OnItemSelected<T>? onItemSelected,
  8. Future<List<T>> asyncSearch(
    1. String query,
    2. int page,
    3. int pageSize
    )?,
  9. int pageSize = 10,
})

are provided, as only one filtering strategy should be used at a time.

Implementation

SearchConfig({
  required this.items,
  required this.itemBuilder,
  this.propertySelector,
  this.customFilter,
  this.searchFieldLabel = 'Search...',
  this.noResultsWidget,
  this.onItemSelected,
  this.asyncSearch,
  this.pageSize = 10,
}) : assert(
        propertySelector == null || customFilter == null,
        'Cannot use both propertySelector and customFilter',
      );