open static method

Future<DateTime?> open(
  1. DateTime? initialValue, {
  2. List<TdDateTimePickerMode> mode = TdDateTimePickerMode.values,
  3. Widget? title,
})

Implementation

static Future<DateTime?> open(
  DateTime? initialValue, {
  List<TdDateTimePickerMode> mode = TdDateTimePickerMode.values,
  Widget? title,
}) {
  final completer = Completer<DateTime?>();

  DateTime? value = initialValue;

  TdPopupPlugin.open(
    builder: (context) {
      return Column(
        mainAxisSize: MainAxisSize.min,
        children: [
          TdPopupAppbar(
            title: title,
            confirm: const Text('确定'),
            onConfirm: () {
              TdPopupPlugin.pop();

              completer.complete(value);
            },
            cancel: const Text('取消'),
            onCancel: () {
              TdPopupPlugin.pop();

              completer.complete();
            },
          ),
          TdDateTimePicker(
            onChanged: (newValue) {
              value = newValue;
            },
            initialValue: initialValue,
            mode: mode,
          ),
        ],
      );
    },
  );

  return completer.future;
}