showDatePicker static method

void showDatePicker(
  1. dynamic context, {
  2. required String title,
  3. required DatePickerCallback? onConfirm,
  4. DatePickerCallback? onCancel,
  5. bool useYear = true,
  6. bool useMonth = true,
  7. bool useDay = true,
  8. bool useHour = false,
  9. bool useMinute = false,
  10. bool useSecond = false,
  11. bool useWeekDay = false,
  12. Color? barrierColor,
  13. List<int> dateStart = const [1970, 1, 1],
  14. List<int>? dateEnd,
  15. List<int>? initialDate,
  16. Duration duration = const Duration(milliseconds: 100),
  17. double pickerHeight = 200,
  18. int pickerItemCount = 5,
})

显示时间选择器

Implementation

static void showDatePicker(context,
    {required String title,
    required DatePickerCallback? onConfirm,
    DatePickerCallback? onCancel,
    bool useYear = true,
    bool useMonth = true,
    bool useDay = true,
    bool useHour = false,
    bool useMinute = false,
    bool useSecond = false,
    bool useWeekDay = false,
    Color? barrierColor,
    List<int> dateStart = const [1970, 1, 1],
    List<int>? dateEnd,
    List<int>? initialDate,
    Duration duration = const Duration(milliseconds: 100),
    double pickerHeight = 200,
    int pickerItemCount = 5}) {
  if (dateEnd == null || initialDate == null) {
    var now = DateTime.now();
    // 如果未指定结束时间,则取当前时间
    dateEnd ??= [now.year, now.month, now.day];
    initialDate ??= [now.year, now.month, now.day];
  }
  showModalBottomSheet(
      context: context,
      backgroundColor: Colors.transparent,
      barrierColor: barrierColor ?? TDTheme.of(context).fontGyColor2.withOpacity(0.6),
      builder: (context) {
        return TDDatePicker(
            title: title,
            onConfirm: onConfirm,
            onCancel: onCancel,
            model: DatePickerModel(
              useYear: useYear,
              useMonth: useMonth,
              useDay: useDay,
              useWeekDay: useWeekDay,
              useHour: useHour,
              useMinute: useMinute,
              useSecond: useSecond,
              dateStart: dateStart,
              dateEnd: dateEnd!,
              dateInitial: initialDate,
            ),
            pickerHeight: pickerHeight,
            pickerItemCount: pickerItemCount);
      });
}