mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
This PR adds a month and year mode to the CupertinoDatePicker. The monthYear mode is the date mode without the day of the month.

This feature was added at the request of:
[Proposal] CupertinoDatePicker with month and year. #93508
One thing that I was unsure of was the use of the DatePickerDateOrder to determine the monthYear order. It could be considered a workaround since the DatePickerDateOrder is intended to order day, month, and year. This means that a developer could use the DatePickerDateOrder.dmy (day, month, year) or DatePickerDateOrder.mdy (month, day, year) to get the same result.
At first I intended to add a DatePickerMonthYearOrder enum to the localizations, in addition to a new parameter for the CupertinoDatePicker for monthYearOrder, but I ended up reverting these changes (1c61f1084e) because I had not considered the effects of adding values to the localizations.
I decided it may be better to not add an additional parameter (monthYearOrder) that would go mostly unused. I am very open to feedback or ideas on this matter.
Tests for the Cupertino package
Avoid importing the Material 'package:flutter/material.dart' in these tests as we're trying to test the Cupertino package in standalone scenarios.
The 'material' subdirectory contains tests for cross-interactions of Material Cupertino widgets in hybridized apps.
Some tests may also be replicated in the Material tests when Material reuses Cupertino components on iOS such as page transitions and text editing.