Flutter showTimePicker 具有特定的 15 分钟间隔

问题描述 投票:0回答:3

Flutter中用于选择时间的showTimePicker函数,是否可以设置一个定义的时间间隔(比如15分钟),以防止用户选择任何其他时间?

目前,这是我用于创建默认 TimePicker 的代码。

showTimePicker(
      context: context,
      initialTime: TimeOfDay.now(),
    );
datetime flutter datetimepicker
3个回答
5
投票

您可以尝试使用此临时解决方案:time_picker_widget

enter image description here

将以下代码复制到此DEMO

showCustomTimePicker(
    context: context,
    // It is a must if you provide selectableTimePredicate
    onFailValidation: (context) =>
        showMessage(context, 'Unavailable selection.'),
    initialTime: TimeOfDay(
        hour: _availableHours.first,
        minute: 0),
    selectableTimePredicate: (time) =>
        _availableHours.indexOf(time.hour) != -1 &&
        time.minute % 15 == 0).then(
    (time) =>
        setState(() => selectedTime = time?.format(context))),

3
投票

API目前没有办法,我提出了这个问题: https://github.com/flutter/flutter/issues/60573


0
投票

“interval_time_picker”包允许您完全按照您的意愿进行操作,并且具有与默认时间选择器相同的外观和感觉:

https://pub.dev/packages/interval_time_picker

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.