Flutter DatePickerでTextFormFieldに入力する方法
環境
Windows11 pro 64bit
Flutter 3.3.7
構文
TextFormFieldに設定したTextEditinControllerのtextプロパティに、選択した日付を代入します。
DatePickerでTextFormFieldに入力できるようになります。
操作方法
1.TextEditingControllerの変数を用意します
final textEditingController = TextEditingController();
final textEditingController = TextEditingController();
final textEditingController = TextEditingController();
2.変数をTextFormFieldに設定します。
TextFormField(
controller: textEditingController,
)
TextFormField(
controller: textEditingController,
)
TextFormField( controller: textEditingController, )
3.TextFormFieldをDatePickerで入力するための関数を作成します。
サンプルコード
Future _getDate(BuildContext context) async {
final initialDate = DateTime.now();
final newDate = await showDatePicker(
context: context,
initialDate: initialDate,
firstDate: DateTime(DateTime.now().year - 5),
lastDate: DateTime(DateTime.now().year + 5),
);
if (newDate != null) {
//選択した日付をTextFormFieldに設定する
textEditingController.text = newDate.toString();
} else {
return;
}
}
Future _getDate(BuildContext context) async {
final initialDate = DateTime.now();
final newDate = await showDatePicker(
context: context,
initialDate: initialDate,
firstDate: DateTime(DateTime.now().year - 5),
lastDate: DateTime(DateTime.now().year + 5),
);
if (newDate != null) {
//選択した日付をTextFormFieldに設定する
textEditingController.text = newDate.toString();
} else {
return;
}
}
Future _getDate(BuildContext context) async { final initialDate = DateTime.now(); final newDate = await showDatePicker( context: context, initialDate: initialDate, firstDate: DateTime(DateTime.now().year - 5), lastDate: DateTime(DateTime.now().year + 5), ); if (newDate != null) { //選択した日付をTextFormFieldに設定する textEditingController.text = newDate.toString(); } else { return; } }