MultiSelectDropdownFormField constructor

MultiSelectDropdownFormField({
  1. required String hintText,
  2. required List<DropdownItem> items,
  3. required bool isLoading,
  4. Key? key,
  5. List<DropdownItem> initialValue = const [],
  6. FormFieldValidator<List<DropdownItem>>? validator,
  7. FormFieldSetter<List<DropdownItem>>? onSaved,
  8. AutovalidateMode? autovalidateMode,
  9. bool enabled = true,
  10. void onSearch(
    1. String query
    )?,
  11. String? searchHint,
  12. String? noResultsText,
  13. String? loadingText,
  14. bool needInitialFetch = false,
  15. int maxDisplayChips = 2,
  16. DropdownPlusTheme? dropdownTheme,
  17. DropdownPlusThemeStyle? themeStyle,
  18. Widget itemBuilder(
    1. DropdownItem item,
    2. bool isSelected
    )?,
  19. Widget selectedItemBuilder(
    1. List<DropdownItem> selected
    )?,
  20. double? buttonHeight,
  21. double? buttonWidth,
  22. Future<bool> checkInternetConnection()?,
  23. Duration debounceDuration = Duration.zero,
  24. bool autofocusSearch = false,
  25. DropdownEmptyBuilder? emptyBuilder,
  26. DropdownLoadingBuilder? loadingBuilder,
  27. Object? error,
  28. VoidCallback? onRetry,
  29. DropdownErrorBuilder? errorBuilder,
  30. String? semanticsLabel,
  31. int minSearchLength = 0,
})

Implementation

MultiSelectDropdownFormField({
  required String hintText,
  required List<DropdownItem<dynamic>> items,
  required bool isLoading,
  super.key,
  List<DropdownItem<dynamic>> initialValue = const [],
  super.validator,
  super.onSaved,
  super.autovalidateMode,
  super.enabled,
  void Function(String query)? onSearch,
  String? searchHint,
  String? noResultsText,
  String? loadingText,
  bool needInitialFetch = false,
  int maxDisplayChips = 2,
  DropdownPlusTheme? dropdownTheme,
  DropdownPlusThemeStyle? themeStyle,
  Widget Function(DropdownItem<dynamic> item, bool isSelected)? itemBuilder,
  Widget Function(List<DropdownItem<dynamic>> selected)? selectedItemBuilder,
  double? buttonHeight,
  double? buttonWidth,
  Future<bool> Function()? checkInternetConnection,
  Duration debounceDuration = Duration.zero,
  bool autofocusSearch = false,
  DropdownEmptyBuilder? emptyBuilder,
  DropdownLoadingBuilder? loadingBuilder,
  Object? error,
  VoidCallback? onRetry,
  DropdownErrorBuilder? errorBuilder,
  String? semanticsLabel,
  int minSearchLength = 0,
}) : super(
        initialValue: initialValue,
        builder: (state) {
          return dropdownFormFieldDecoration(
            state: state,
            dropdown: MultiSelectDropdown(
              hintText: hintText,
              items: items,
              isLoading: isLoading,
              selectedItems: state.value ?? const [],
              onSelectionChanged: (items) => state.didChange(items),
              onSearch: onSearch,
              searchHint: searchHint,
              noResultsText: noResultsText,
              loadingText: loadingText,
              needInitialFetch: needInitialFetch,
              maxDisplayChips: maxDisplayChips,
              dropdownTheme: dropdownTheme,
              themeStyle: themeStyle,
              itemBuilder: itemBuilder,
              selectedItemBuilder: selectedItemBuilder,
              buttonHeight: buttonHeight,
              buttonWidth: buttonWidth,
              checkInternetConnection: checkInternetConnection,
              debounceDuration: debounceDuration,
              enabled: enabled,
              autofocusSearch: autofocusSearch,
              emptyBuilder: emptyBuilder,
              loadingBuilder: loadingBuilder,
              error: error,
              onRetry: onRetry,
              errorBuilder: errorBuilder,
              semanticsLabel: semanticsLabel,
              minSearchLength: minSearchLength,
            ),
          );
        },
      );