Column

プログラミング
[Flutter] DropdownButtonに現在の日時を初期値として設定する方法
2022.12.12

[Flutter] DropdownButtonに現在の日時を初期値として設定する方法

FlutterのDropdownButtonにて現在の日時を初期値として設定する方法を紹介します。
下に記載するDropdownButtonchild:の右に書いてください。

月の設定の仕方

String initMonth = DateTime.now().month.toString();

List<String> monthList(){
  final month = <String>['1','2','3','4','5','6','7','8','9','10','11','12'];
  return month;
}

DropdownButton<String>(
  value: initMonth,
  items: month().map((list) => DropdownMenuItem(value: list, child: Text(list))).toList(),
  onChanged: (value) {
    setState(() {
      initMonth = value!;
    });
  },
)

日の設定の仕方

String initDay = DateTime.now().day.toString();

List<String> dayThirtyOne(){
  final day = <String>['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15',
'16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'];
  return day;
}

DropdownButton<String>(
  value: initMonth,
  items: dayThirtyOne().map((list) => DropdownMenuItem(value: list, child: Text(list))).toList(),
  onChanged: (value) {
    setState(() {
      initDay = value!;
    });
  },
)

日付の設定に関しては月によって日数が異なるので月に応じた日数を設定する必要があります。(例:4月は30日までなので1~30までの配列を別途作成して設定する。)

参考画像

月 : 日

月をクリックしたとき

日をクリックしたとき