TCheckboxGroup<T> class
A group of checkboxes for multiple selection.
TCheckboxGroup provides a multi-select input with:
- Multiple checkbox selection
- Keyboard navigation support
- Validation support
- Vertical or horizontal layout
- Value binding with ValueNotifier
Basic Usage
TCheckboxGroup<String>(
label: 'Select options',
items: [
TCheckboxGroupItem(value: 'option1', label: 'Option 1'),
TCheckboxGroupItem(value: 'option2', label: 'Option 2'),
TCheckboxGroupItem(value: 'option3', label: 'Option 3'),
],
onValueChanged: (values) => print('Selected: \$values'),
)
With Validation
TCheckboxGroup<String>(
label: 'Select at least one',
isRequired: true,
items: items,
rules: [
(values) => values == null || values.isEmpty
? 'Please select at least one option'
: null,
],
)
Type parameter:
T: The type of values for the checkboxes
See also:
- TCheckbox for single checkbox
TRadioGroupfor single selection
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- TCheckboxGroup
- Mixed-in types
Constructors
-
TCheckboxGroup({Key? key, String? label, String? tag, String? helperText, bool isRequired = false, bool disabled = false, TInputFieldTheme? theme, VoidCallback? onTap, FocusNode? focusNode, List<
T> ? value, ValueNotifier<List< ? valueNotifier, ValueChanged<T> ?>List< ? onValueChanged, List<T> ?>String? Function(List< ? rules, Duration? validationDebounce, List<T> ?)>TCheckboxGroupItem< items = const [], Color? color, bool block = true, bool vertical = false, bool autoFocus = false})T> > -
Creates a checkbox group.
const
Properties
- autoFocus → bool
-
Whether to auto-focus the first checkbox.
final
- block → bool
-
Whether to display in block mode.
final
- color → Color?
-
Custom color for the checkboxes.
final
- disabled → bool
-
Whether the field is disabled.
final
- focusNode → FocusNode?
-
Custom focus node.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- helperText → String?
-
The helper text.
final
- isRequired → bool
-
Whether the field is required.
final
-
items
→ List<
TCheckboxGroupItem< T> > -
The list of checkbox items.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- label → String?
-
The label text.
final
- onTap → VoidCallback?
-
Callback for tap events.
final
-
onValueChanged
→ ValueChanged<
List< ?T> ?> -
Callback fired when the value changes.
final
-
rules
→ List<
String? Function(List< ?T> ?)> -
List of validation rules.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- tag → String?
-
The tag text (optional).
final
- theme → TInputFieldTheme?
-
Custom theme.
final
- validationDebounce → Duration?
-
Debounce duration for validation trigger.
final
-
value
→ List<
T> ? -
The initial value.
final
-
valueNotifier
→ ValueNotifier<
List< ?T> ?> -
A ValueNotifier for two-way binding.
final
- vertical → bool
-
Whether to display vertically.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< TCheckboxGroup< T> > -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
-
validateValue(
List< T> ? value) → List<String> -
Validates the given value against the rules.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited