【问题标题】:Flutter : How to enable date just certain days in DatePickerFlutter:如何在 DatePicker 中仅启用特定日期的日期
【发布时间】:2021-01-28 11:07:07
【问题描述】:

我有来自 json 的数组天数列表:[“mon”,“thu”,“fri”], 如何每周在 DateTimePicker 选项上显示这一天

  final DateTime date = await showDatePicker(
                                      context: context,
                                      firstDate: DateTime.now(),
                                      initialDate: startTime,
                                      lastDate: DateTime(
                                          lasYears, lastMonthQuery, lastDate),
                                        selectableDayPredicate: ??,
                                    );

谢谢..

【问题讨论】:

    标签: flutter datepicker


    【解决方案1】:
    List<int> weeks = [0, 1, 2, 3, 4, 5, 6];
    List<int> availableTime = [];
    
    
    for (int i = 0; i < event.length; i++) {
      availableTime.add(event.data == 'sun'
          ? 0
          : event.data == 'mon'
              ? 1
              : event.data == 'tue'
                  ? 2
                  : event.data == 'wed'
                      ? 3
                      : event.data == 'thu' ? 4 : event.data == 'fri' ? 5 : 6);
    }
    
    List<int> difference =
        weeks.toSet().difference(availableTime.toSet()).toList();
    
    bool _dateAvailable(DateTime day) {
      for (int i = 0; i < difference.length; i++) {
        if (day.weekday == difference[i]) {
          return false;
        }
      }
      return true;
    }
    
    final DateTime date = await showDatePicker(
      context: context,
      firstDate: DateTime.now(),
      initialDate: DateTime.now(),
      lastDate: DateTime(
          lasYears, lastMonthQuery, lastDate),
      selectableDayPredicate:
      _dateAvailable,
    );
    

    第一个选项,谢谢?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 2019-04-25
      • 2015-10-12
      相关资源
      最近更新 更多