如何更改 showDatePicker 输入格式 flutter

mik*_*ike 7 datetime flutter

我正在使用 showDatePicker 函数从日历对话框中选择日期。它在右上角显示一个编辑图标(参见图片 1)以更改为输入模式,用户可以在其中以文本形式输入日期(参见图片 2)问题在于输入格式,我希望文本编辑器输入遵循此格式格式为年-月-日。问题是,一开始它向我显示日期,如 yyyy-mm-dd,但是当我尝试删除第一个数字时,它会自动更改为这种格式 mm/dd/yyyy。

如何将输入格式设置为 yyyy-mm-dd。如果 showDatePicker 不支持瑞典语,那么如何从右上角永远隐藏编辑图标。帮助我谢谢

图片 1 图片 1

图片2 图片2

这是我的代码

  DateTime selectedDate = DateTime.now();
  String date = DateFormat("yyyy-MM-dd").format(DateTime.now()); 
...
FlatButton(
         onPressed: ()async {

           final DateTime picked = await showDatePicker(
               locale: const Locale('sv'), // Swedish calander
               context: context,
               initialDate: selectedDate,
               firstDate: DateTime(1970, 8),
               lastDate: DateTime(2101));

           if (picked != null && picked != selectedDate) {
             setState(() {
               selectedDate = picked;
               String Onlydate = new DateFormat("yyyy-MM-dd").format(picked); 

               date = '$Onlydate';


             });
           }
         },
         child: Row(
           children: <Widget>[
             Text(' * $date'),
           ],
         ),
       );`
Run Code Online (Sandbox Code Playgroud)

mik*_*ike -2

Flutter团队在最新版本中解决了这个问题。

您可以使用构造函数参数

initialEntryMode: DatePickerEntryMode.calendarOnly

隐藏文本输入。我不知道如何更改日期格式。

  • 请详细说明您的答案,如何更改输入日期模式的格式(如第二张图片所示) (2认同)