FlutterのDropdownButtonにて現在の日時を初期値として設定する方法を紹介します。
下に記載するDropdownButton
はchild:
の右に書いてください。
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までの配列を別途作成して設定する。)
月 : 日
月をクリックしたとき
日をクリックしたとき