createState method Null safety
override
Creates the mutable state for this widget at a given location in the tree.
Subclasses should override this method to return a newly created instance of their associated State subclass:
@override
State<MyWidget> createState() => _MyWidgetState();
The framework can call this method multiple times over the lifetime of
a StatefulWidget
. For example, if the widget is inserted into the tree
in multiple locations, the framework will create a separate State object
for each location. Similarly, if the widget is removed from the tree and
later inserted into the tree again, the framework will call createState
again to create a fresh State object, simplifying the lifecycle of
State objects.
Implementation
@override
State<StatefulWidget> createState() { // ignore: no_logic_in_create_state, https://github.com/flutter/flutter/issues/70499
// The `time` mode and `dateAndTime` mode of the picker share the time
// columns, so they are placed together to one state.
// The `date` mode has different children and is implemented in a different
// state.
switch (mode) {
case CupertinoDatePickerMode.time:
case CupertinoDatePickerMode.dateAndTime:
return _CupertinoDatePickerDateTimeState();
case CupertinoDatePickerMode.date:
return _CupertinoDatePickerDateState(dateOrder: dateOrder);
}
}