getPage method

List<CalendarClip> getPage({
  1. List<DayClipModel> data = const [],
  2. DayClipDelegate? dayClipDelegate,
  3. WeekDayClipDelegate? weekDayClipDelegate,
  4. int? year,
  5. int? month,
})

计算显示区域。

按月排版显示

  • data 已有数据,日历相关联的数据模型。
  • dayClipDelegate 日历中的日期模块构建代理
  • weekDayClipDelegate 日历中的周标题模块构建代理
  • year 所要构建的日历的年份
  • month 所要构建的日历的月份
  • tuning 排序方式 0 -- 日 一 二 三 四 五 六 周日为第一位 1 -- 一 二 三 四 五 六 日 周一为第一位

Implementation

List<CalendarClip> getPage(
    {List<DayClipModel> data = const [],
    DayClipDelegate? dayClipDelegate,
    WeekDayClipDelegate? weekDayClipDelegate,
    int? year,
    int? month}) {
  /// 要显示哪年?
  int _year = year ?? DateTime.now().year;

  /// 要显示哪个月?
  int _month = month ?? DateTime.now().month;

  /// 根据年月获取一个月的天数。
  int _days = DateMath().getDaysOfMonth(_month, year: _year);

  /// 计算当月的第一天是周几。即在列表中的偏移位置。
  int offset = DateTime(_year, _month, 1).weekday;
  print("year:$_year   month:$_month");
  return _getScope(
      dayClipDelegate ?? SimpleDayClipDelegate(),
      weekDayClipDelegate ?? SimpleWeekDayClipDelegate(),
      data,
      _year,
      _month,
      _days,
      offset);
}