TDatePicker class
A date picker input field with calendar popup.
TDatePicker provides a date selection widget with:
- Calendar popup for date selection
- Formatted date display
- Min/max date constraints
- Custom date formatting
- Validation support
- Value binding with ValueNotifier
Basic Usage
TDatePicker(
label: 'Birth Date',
placeholder: 'Select date',
onValueChanged: (date) => print('Selected: \$date'),
)
With Date Range
TDatePicker(
label: 'Appointment Date',
firstDate: DateTime.now(),
lastDate: DateTime.now().add(Duration(days: 365)),
format: DateFormat('dd/MM/yyyy'),
)
With ValueNotifier
final selectedDate = ValueNotifier<DateTime?>(null);
TDatePicker(
label: 'Event Date',
valueNotifier: selectedDate,
)
See also:
- TDateTimePicker for date and time selection
- TTimePicker for time-only selection
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- TDatePicker
- Mixed-in types
Constructors
-
TDatePicker({Key? key, String? label, String? tag, String? helperText, String? placeholder, bool isRequired = false, bool disabled = false, bool autoFocus = false, bool readOnly = true, TTextFieldTheme? theme, VoidCallback? onTap, FocusNode? focusNode, TextEditingController? textController, DateTime? value, ValueNotifier<
DateTime?> ? valueNotifier, ValueChanged<DateTime?> ? onValueChanged, List<String? Function(DateTime?)> ? rules, Duration? validationDebounce, VoidCallback? onShow, VoidCallback? onHide, DateTime? firstDate, DateTime? lastDate, DateFormat? format}) -
Creates a date picker input.
const
Properties
- alignment → TPopupAlignment
-
Preferred alignment of the popup.
no setterinherited
- autoFocus → bool
-
Whether the field should autofocus.
final
- disabled → bool
-
Whether the field is disabled.
final
- firstDate → DateTime?
-
The earliest selectable date.
final
- focusNode → FocusNode?
-
Custom focus node.
final
- format → DateFormat?
-
Custom date format for display.
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
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- label → String?
-
The label text.
final
- lastDate → DateTime?
-
The latest selectable date.
final
- offset → double
-
Offset from the target widget.
no setterinherited
- onHide → VoidCallback?
-
Callback when popup hides.
final
- onShow → VoidCallback?
-
Callback when popup shows.
final
- onTap → VoidCallback?
-
Callback for tap events.
final
-
onValueChanged
→ ValueChanged<
DateTime?> ? -
Callback fired when the value changes.
final
- placeholder → String?
-
Placeholder text.
final
- readOnly → bool
-
Whether the field is read-only.
final
-
rules
→ List<
String? Function(DateTime?)> ? -
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
- textController → TextEditingController?
-
Custom text controller.
final
- theme → TTextFieldTheme?
-
Custom theme.
final
- validationDebounce → Duration?
-
Debounce duration for validation trigger.
final
- value → DateTime?
-
The initial value.
final
-
valueNotifier
→ ValueNotifier<
DateTime?> ? -
A ValueNotifier for two-way binding.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< TDatePicker> -
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(
DateTime? value) → List< String> -
Validates the given value against the rules.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited