Datetime 如何在showDatePicker颤振中禁用编辑按钮/输入模式

Datetime 如何在showDatePicker颤振中禁用编辑按钮/输入模式,datetime,flutter,Datetime,Flutter,我正在使用showDatePicker函数从对话框日历中选择日期。它在右上角显示一个编辑图标(见img 1)以切换到输入模式,用户可以在其中以文本形式输入日期(见img 2) 如何阻止/禁用编辑按钮/输入模式显示在右上角?我想删除此图标,因为我不想使用它 帮帮我,谢谢 img 1 img 2没有禁用该功能的选项。 这是datePicker上Flatter 1.17的最新功能 您可以将initialEntryMode设置为DatePickerEntryMode.calendar或DatePic

我正在使用showDatePicker函数从对话框日历中选择日期。它在右上角显示一个编辑图标(见img 1)以切换到输入模式,用户可以在其中以文本形式输入日期(见img 2)

如何阻止/禁用编辑按钮/输入模式显示在右上角?我想删除此图标,因为我不想使用它

帮帮我,谢谢

img 1


img 2没有禁用该功能的选项。 这是datePicker上Flatter 1.17的最新功能

您可以将
initialEntryMode
设置为
DatePickerEntryMode.calendar
DatePickerEntryMode.input
,但不能禁用它。例如:

var picked = await showDatePicker(
  initialEntryMode: DatePickerEntryMode.input,
  context: context,
  ...
)

作为对Miko答案的补充,我刚刚将与range picker对话框相关的所有src代码复制到本地项目文件中,并手动删除了
entryModeIcon


以下是颤振团队解决输入格式问题的要点。感谢您的帮助

使用
initialEntryMode

final DateTime? picked = await showDatePicker(
      context: context,
      initialDatePickerMode: DatePickerMode.day,
      initialDate: DateTime.now(),
      firstDate: DateTime(2015),
      lastDate: DateTime(2101),
      initialEntryMode: DatePickerEntryMode.calendarOnly, // <- this
    );
最终日期时间?已拾取=等待showDatePicker(
上下文:上下文,
initialDatePickerMode:DatePickerMode.day,
initialDate:DateTime.now(),
firstDate:DateTime(2015年),
lastDate:DateTime(2101),

initialEntryMode:DatePickerEntryMode.calendarOnly,//要禁用编辑图标,只需设置:

initialEntryMode: DatePickerEntryMode.calendarOnly,

我可以在路径C:\flatterSDK\flatter\packages\flatter\lib\src\material\pickers\date\u picker\u dialog.dart中的路径源代码中禁用它。我对//icon:entryModeIcon和//onIconPressed:\u handleentrymodetogle进行了注释,但我认为这不是最好的解决方案,因为在下一版本的flatter中,这个文件可能会被更新和删除e my comments//你怎么看?问题在于输入格式,我希望文本输入遵循这种格式yyyy-mm-dd。问题在于,在开始时,它会显示类似yyyy-mm-dd的日期,但当我尝试删除第一个数字时,它会自动更改为这种格式mm/dd/yyyy。如何在输入模式下将输入格式设置为yyyy-mm-dd。它不适用于Locale('sv'),仅当我使用英语'en'Locale:Locale('en'),final DateTime picked=wait showDatePicker(Locale:const Locale('sv')时才有效,//Swedish calander context:context,是的,实际上可以通过在sdk颤振源代码中更改它来完成,但这不是正确的方法。因为如果要更新sdk颤振或要更改颤振通道,则更改或注释的代码会出现错误。我对输入模式表单有问题在,这就是我想删除它的原因。我在上面提到过,如果你能帮助Meflight团队解决输入格式的问题。谢谢你的帮助