Token导航 LogoToken导航TokenDH.com
前端设计只读github未标认证来源可访问许可证需确认审计通过

syncfusion-flutter-calendar-datepickersyncfusion Flutter 日历 datepicker

Agent Skill

syncfusion-flutter-calendar-datepicker 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

703

周安装

29

GitHub Stars

1

下载量

230
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:syncfusion-flutter-calendar-datepicker(syncfusion Flutter 日历 datepicker)
来源仓库:https://github.com/syncfusion/flutter-ui-components-skills
仓库路径:skills/syncfusion-flutter-calendar-datepicker
安装命令:
npx skills add https://github.com/syncfusion/flutter-ui-components-skills --skill syncfusion-flutter-calendar-datepicker
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/syncfusion/flutter-ui-components-skills --skill syncfusion-flutter-calendar-datepicker

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装使用。
  • 安装前需确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。
  • syncfusion-flutter-calendar-datepicker 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Syncfusion Flutter Calendar & Date Range Picker

This skill covers two related Syncfusion Flutter components for date and calendar functionality: SfCalendar (Event Calendar) and SfDateRangePicker (Date Range Picker). While they share many visual and configuration features, they serve different primary purposes.

When to Use This Skill

Use this skill when you need to:

  • Implement event calendars with appointments, scheduling, and time management
  • Add date selection to forms, filters, or booking interfaces
  • Display calendar views (month, week, day, year, decade, timeline, schedule)
  • Handle date range selection for reports, analytics, or filtering
  • Create appointment/booking systems with recurring events and time zones
  • Build scheduling interfaces with drag-drop, resizing, and resource views
  • Enable date navigation with various view modes and restrictions
  • Customize calendar appearance with builders, themes, and styling
  • Support multiple date selection modes (single, multiple, range, multi-range)
  • Integrate calendar localization with RTL support and accessibility

Choosing the Right Component

Use SfCalendar (Event Calendar) when:

  • You need to display and manage appointments/events
  • Your app requires scheduling functionality (booking, meetings, tasks)
  • You need timeline views or schedule views for event management
  • Time-based views are important (day, week, workweek with time slots)
  • You need recurring events, time zones, or resource allocation
  • Drag-and-drop or appointment resizing is required
  • Building calendars for: meeting schedulers, appointment books, task managers, event planners

Use SfDateRangePicker (Date Range Picker) when:

  • You need date selection without appointment management
  • Your primary goal is picking dates or date ranges for forms/filters
  • You need flexible selection modes (single, multiple, range, multi-range)
  • Simplified date input for booking start/end dates, report periods, etc.
  • You want action buttons (confirm/cancel) for date selection dialogs
  • Building UI for: date filters, booking dates, report date ranges, form date inputs

Key Differences Summary:

FeatureSfCalendarSfDateRangePicker
Primary PurposeEvent scheduling & displayDate selection
Appointments/Events✅ Full support❌ Not supported
View Types9 views (day, week, timeline, etc.)4 views (month, year, decade, century)
Selection ModesSingle date/time slotSingle, multiple, range, multi-range
Time Slots✅ Yes (with time)❌ Dates only
Action Buttons❌ No✅ Confirm/Cancel buttons
Recurring Events✅ Yes❌ No
Time Zones✅ Yes❌ No
Resource View✅ Yes❌ No
Drag & Drop✅ Yes❌ No

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and package setup for both components
  • Basic SfCalendar implementation
  • Basic SfDateRangePicker implementation
  • Package dependencies and imports
  • Quick comparison and first examples

Component Overview

📄 For Calendar: references/calendar-overview.md

  • SfCalendar widget overview and features
  • When to use Calendar vs Date Range Picker
  • Nine calendar view types explained
  • Calendar-specific capabilities
  • Basic calendar configuration

📄 For Date Range Picker: references/datepicker-overview.md

  • SfDateRangePicker widget overview and features
  • When to use Date Range Picker vs Calendar
  • Four picker view types explained
  • Date picker-specific capabilities
  • Multi-picker view (side by side)

View Types and Navigation

📄 Read: references/views.md

  • Month view (both components)
  • Year, decade, century views (Date Range Picker)
  • Day, week, workweek views (Calendar)
  • Schedule view (Calendar)
  • Timeline views: day, week, workweek, month (Calendar)
  • Month agenda view (Calendar)
  • View switching and navigation
  • Week number display
  • First day of week configuration

📄 Read: references/date-navigations.md

  • Forward and backward navigation
  • Programmatic date navigation
  • Initial display date configuration
  • Navigation arrows
  • View mode switching controls
  • Min/max date restrictions
  • Blackout dates (disabled dates)

Calendar-Specific Features

📄 Read: references/appointments.md

  • Calendar appointments (events/scheduling)
  • Appointment class and properties
  • CalendarDataSource setup and mapping
  • Custom appointment objects
  • All-day appointments
  • Recurring appointments and rules
  • Appointment display modes
  • Time zone support for appointments
  • Appointment customization

Date Range Picker-Specific Features

📄 Read: references/selections.md

  • Selection modes (single, multiple, range, multi-range, extendable)
  • Single date selection
  • Multiple date selection
  • Range selection (start and end dates)
  • Multi-range selection (multiple ranges)
  • Programmatic selection
  • Selection changed callbacks
  • Initial selected date
  • Selection decoration and styling

Customization and Styling

📄 Read: references/customization.md

  • Visual appearance customization
  • Cell styling and colors
  • Header customization
  • Today highlight color
  • Cell border color and background
  • Selection decoration
  • Theme integration
  • Special time regions (Calendar)
  • Month cell appearance

📄 Read: references/builders.md

  • Custom cell builders
  • Month cell builder
  • Year cell builder
  • Appointment builder (Calendar)
  • Time region builder (Calendar)
  • Resource header builder (Calendar)
  • Builder patterns and examples

Event Handling

📄 Read: references/callbacks.md

  • onSelectionChanged (both components)
  • onViewChanged (both components)
  • onTap and onLongPress (Calendar)
  • onSubmit and onCancel (Date Range Picker)
  • Calendar-specific callbacks (appointment interactions)
  • Callback argument types
  • Event handling patterns

Localization and Accessibility

📄 Read: references/localization.md

  • Internationalization support
  • Locale configuration
  • Date format customization
  • Header and cell formats
  • Globalization examples
  • Right-to-left (RTL) support

📄 Read: references/accessibility.md

  • Screen reader support
  • Semantic labels
  • Keyboard navigation
  • WCAG compliance
  • Focus indicators
  • Accessible date selection

Advanced Features

📄 Read: references/advanced-features.md

  • Time zones (Calendar)
  • Resource view (Calendar)
  • Drag and drop (Calendar)
  • Appointment resizing (Calendar)
  • Load more appointments (Calendar)
  • Hijri calendar support (Date Range Picker)
  • Date restrictions and constraints (Date Range Picker)
  • Action buttons (Date Range Picker)
  • Current time indicator (Calendar)

Quick Start Examples

Basic Calendar with Appointments

import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';

class MyCalendar extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('My Calendar')),
      body: SfCalendar(
        view: CalendarView.month,
        dataSource: MeetingDataSource(_getDataSource()),
        monthViewSettings: MonthViewSettings(
          appointmentDisplayMode: MonthAppointmentDisplayMode.appointment
        ),
      ),
    );
  }

  List<Meeting> _getDataSource() {
    final List<Meeting> meetings = <Meeting>[];
    final DateTime today = DateTime.now();
    final DateTime startTime = DateTime(today.year, today.month, today.day, 9, 0, 0);
    final DateTime endTime = startTime.add(Duration(hours: 2));

    meetings.add(Meeting(
      'Conference',
      startTime,
      endTime,
      Color(0xFF0F8644),
      false
    ));

    return meetings;
  }
}

class MeetingDataSource extends CalendarDataSource {
  MeetingDataSource(List<Meeting> source) {
    appointments = source;
  }

  @override
  DateTime getStartTime(int index) => appointments![index].from;

  @override
  DateTime getEndTime(int index) => appointments![index].to;

  @override
  String getSubject(int index) => appointments![index].eventName;

  @override
  Color getColor(int index) => appointments![index].background;

  @override
  bool isAllDay(int index) => appointments![index].isAllDay;
}

class Meeting {
  Meeting(this.eventName, this.from, this.to, this.background, this.isAllDay);

  String eventName;
  DateTime from;
  DateTime to;
  Color background;
  bool isAllDay;
}

Basic Date Range Picker

import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_datepicker/datepicker.dart';

class MyDatePicker extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Select Date Range')),
      body: SfDateRangePicker(
        view: DateRangePickerView.month,
        selectionMode: DateRangePickerSelectionMode.range,
        onSelectionChanged: _onSelectionChanged,
        showActionButtons: true,
      ),
    );
  }

  void _onSelectionChanged(DateRangePickerSelectionChangedArgs args) {
    if (args.value is PickerDateRange) {
      final DateTime startDate = args.value.startDate;
      final DateTime? endDate = args.value.endDate;
      print('Selected range: $startDate to $endDate');
    }
  }
}

Date Picker with Multiple Selection

SfDateRangePicker(
  view: DateRangePickerView.month,
  selectionMode: DateRangePickerSelectionMode.multiple,
  initialSelectedDates: [
    DateTime.now(),
    DateTime.now().add(Duration(days: 2)),
    DateTime.now().add(Duration(days: 5)),
  ],
  onSelectionChanged: (DateRangePickerSelectionChangedArgs args) {
    final List<DateTime> selectedDates = args.value;
    print('Selected ${selectedDates.length} dates');
  },
)

Common Patterns

Pattern 1: Calendar with Different Views

// Switch between day, week, month, and schedule views
CalendarView _calendarView = CalendarView.month;

SfCalendar(
  view: _calendarView,
  dataSource: MeetingDataSource(_appointments),
  onViewChanged: (ViewChangedDetails details) {
    // Handle view changes
  },
)

// Toggle view with buttons
void _changeView(CalendarView view) {
  setState(() {
    _calendarView = view;
  });
}

Pattern 2: Date Range Filter for Reports

// Common pattern for selecting date ranges in analytics/reports
PickerDateRange? _selectedRange;

SfDateRangePicker(
  selectionMode: DateRangePickerSelectionMode.range,
  onSelectionChanged: (DateRangePickerSelectionChangedArgs args) {
    setState(() {
      _selectedRange = args.value;
    });
  },
  showActionButtons: true,
  onSubmit: (Object? value) {
    if (_selectedRange != null) {
      _loadReportData(_selectedRange!.startDate, _selectedRange!.endDate);
    }
    Navigator.pop(context);
  },
)

Pattern 3: Customized Cell Appearance

// Custom styling for both components
SfCalendar(
  view: CalendarView.month,
  todayHighlightColor: Colors.blue,
  cellBorderColor: Colors.grey[300],
  backgroundColor: Colors.white,
  selectionDecoration: BoxDecoration(
    color: Colors.transparent,
    border: Border.all(color: Colors.blue, width: 2),
    borderRadius: BorderRadius.circular(4),
  ),
)

SfDateRangePicker(
  todayHighlightColor: Colors.green,
  selectionColor: Colors.blue,
  rangeSelectionColor: Colors.blue.withOpacity(0.3),
  startRangeSelectionColor: Colors.blue,
  endRangeSelectionColor: Colors.blue,
)

Pattern 4: Restricting Date Selection

// Disable past dates and weekends
SfDateRangePicker(
  minDate: DateTime.now(),
  maxDate: DateTime.now().add(Duration(days: 365)),
  selectableDayPredicate: (DateTime date) {
    // Disable weekends
    return date.weekday != DateTime.saturday &&
           date.weekday != DateTime.sunday;
  },
)

Key Properties

SfCalendar Essential Properties

  • view - Calendar view type (day, week, month, schedule, timeline, etc.)
  • dataSource - CalendarDataSource with appointments
  • initialDisplayDate - Date to display initially
  • initialSelectedDate - Initially selected date/time
  • monthViewSettings - Configuration for month view
  • timeSlotViewSettings - Configuration for day/week views
  • scheduleViewSettings - Configuration for schedule view
  • todayHighlightColor - Color for today's date
  • selectionDecoration - Selection styling
  • onTap - Callback when cell is tapped
  • onLongPress - Callback for long press
  • onViewChanged - Callback when view changes
  • onSelectionChanged - Callback when selection changes
  • showNavigationArrow - Show forward/backward arrows
  • showCurrentTimeIndicator - Show current time line
  • allowViewNavigation - Allow switching between views
  • firstDayOfWeek - First day of week (1-7)
  • blackoutDates - Dates to disable
  • minDate / maxDate - Date range restrictions

SfDateRangePicker Essential Properties

  • view - Picker view type (month, year, decade, century)
  • selectionMode - Selection mode (single, multiple, range, multiRange, extendableRange)
  • initialSelectedDate - Initially selected date
  • initialSelectedDates - Initially selected dates (multiple mode)
  • initialSelectedRange - Initially selected range
  • initialSelectedRanges - Initially selected ranges (multi-range mode)
  • initialDisplayDate - Date to display initially
  • monthViewSettings - Configuration for month view
  • yearViewSettings - Configuration for year view
  • todayHighlightColor - Color for today's date
  • selectionColor - Selection color
  • rangeSelectionColor - Range selection color
  • startRangeSelectionColor - Start date color
  • endRangeSelectionColor - End date color
  • onSelectionChanged - Callback when selection changes
  • onViewChanged - Callback when view changes
  • onSubmit - Callback when confirm button pressed
  • onCancel - Callback when cancel button pressed
  • showActionButtons - Show confirm/cancel buttons
  • showTodayButton - Show today button
  • allowViewNavigation - Allow switching between views
  • enablePastDates - Enable past date selection
  • minDate / maxDate - Date range restrictions
  • selectableDayPredicate - Custom date validation
  • monthCellStyle - Month cell styling
  • yearCellStyle - Year cell styling

Common Use Cases

  1. Meeting Scheduler - Use SfCalendar with schedule view
  2. Event Manager - Use SfCalendar with month view, recurring events, and drag-drop
  3. Booking System - Use SfDateRangePicker with range selection and date restrictions
  4. Date Filter - Use SfDateRangePicker with range/multi-range selection for reports
  5. Task Manager - Use SfCalendar with schedule view and all-day appointments
  6. Vacation Planner - Use SfDateRangePicker with multiple selection and blackout dates
  7. Resource Scheduler - Use SfCalendar with resource view and timeline
  8. Simple Date Input - Use SfDateRangePicker with single selection mode

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.16%
按下载量换算83

Claude

27.64%
按下载量换算64

Cursor

18.24%
按下载量换算42

Gemini CLI

9.93%
按下载量换算23

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills