FSelectMenuTile<T> constructor

FSelectMenuTile<T>({
  1. required Widget title,
  2. required List<FSelectTile<T>> menu,
  3. FMultiValueControl<T>? selectControl,
  4. FPopoverControl popoverControl = const .managed(),
  5. ScrollController? scrollController,
  6. FSelectMenuTileStyle style(
    1. FSelectMenuTileStyle style
    )?,
  7. double? cacheExtent,
  8. double maxHeight = .infinity,
  9. DragStartBehavior dragStartBehavior = .start,
  10. ScrollPhysics physics = const ClampingScrollPhysics(),
  11. FItemDivider divider = .full,
  12. AlignmentGeometry menuAnchor = .topRight,
  13. AlignmentGeometry tileAnchor = .bottomRight,
  14. FPortalSpacing menuSpacing = const .spacing(4),
  15. FPortalOverflow menuOverflow = .flip,
  16. Offset menuOffset = .zero,
  17. FPopoverHideRegion menuHideRegion = .excludeChild,
  18. VoidCallback? menuOnTapHide,
  19. Object? menuGroupId,
  20. bool autoHide = true,
  21. Widget? label,
  22. Widget? description,
  23. bool autofocus = false,
  24. FocusScopeNode? menuFocusNode,
  25. ValueChanged<bool>? menuOnFocusChange,
  26. TraversalEdgeBehavior? menuTraversalEdgeBehavior,
  27. String? menuBarrierSemanticsLabel,
  28. bool menuBarrierSemanticsDismissible = true,
  29. String? semanticsLabel,
  30. Widget? prefix,
  31. Widget? subtitle,
  32. ValueWidgetBuilder<Set<T>> detailsBuilder = defaultSelectMenuTileBuilder,
  33. Widget? details,
  34. Widget? suffix,
  35. Map<ShortcutActivator, Intent>? shortcuts,
  36. Map<Type, Action<Intent>>? actions,
  37. Widget errorBuilder(
    1. BuildContext context,
    2. String message
    ) = FFormFieldProperties.defaultErrorBuilder,
  38. FormFieldSetter<Set<T>>? onSaved,
  39. VoidCallback? onReset,
  40. FormFieldValidator<Set<T>>? validator,
  41. String? forceErrorText,
  42. bool enabled = true,
  43. AutovalidateMode autovalidateMode = .disabled,
  44. Key? key,
})

Creates a FSelectMenuTile that eagerly builds the menu.

Implementation

FSelectMenuTile({
  required this.title,
  required List<FSelectTile<T>> menu,
  this.selectControl,
  this.popoverControl = const .managed(),
  this.scrollController,
  this.style,
  this.cacheExtent,
  this.maxHeight = .infinity,
  this.dragStartBehavior = .start,
  this.physics = const ClampingScrollPhysics(),
  this.divider = .full,
  this.menuAnchor = .topRight,
  this.tileAnchor = .bottomRight,
  this.menuSpacing = const .spacing(4),
  this.menuOverflow = .flip,
  this.menuOffset = .zero,
  this.menuHideRegion = .excludeChild,
  this.menuOnTapHide,
  this.menuGroupId,
  this.autoHide = true,
  this.label,
  this.description,
  this.autofocus = false,
  this.menuFocusNode,
  this.menuOnFocusChange,
  this.menuTraversalEdgeBehavior,
  this.menuBarrierSemanticsLabel,
  this.menuBarrierSemanticsDismissible = true,
  this.semanticsLabel,
  this.prefix,
  this.subtitle,
  this.detailsBuilder = defaultSelectMenuTileBuilder,
  this.details,
  this.suffix,
  this.shortcuts,
  this.actions,
  this.errorBuilder = FFormFieldProperties.defaultErrorBuilder,
  this.onSaved,
  this.onReset,
  this.validator,
  this.forceErrorText,
  this.enabled = true,
  this.autovalidateMode = .disabled,
  super.key,
}) : _menu = menu,
     _menuBuilder = null,
     _count = null;