如何在showDatePicker抖动中禁用编辑按钮/输入模式

时间:2020-06-08 21:58:44

标签: datetime flutter

我正在使用showDatePicker函数从对话框“日历”中选择一个日期。它在右上方显示一个编辑图标(请参见img 1),以更改为输入模式,用户可以在其中输入日期作为文本(请参见img 2)

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

帮我谢谢

img 1 img 1

img 2 img 2

5 个答案:

答案 0 :(得分:2)

使用initialEntryMode

final DateTime? picked = await showDatePicker(
      context: context,
      initialDatePickerMode: DatePickerMode.day,
      initialDate: DateTime.now(),
      firstDate: DateTime(2015),
      lastDate: DateTime(2101),
      initialEntryMode: DatePickerEntryMode.calendarOnly, // <- this
    );

答案 1 :(得分:1)

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

这是要点https://gist.github.com/RobertApikyan/ee76abf54cd449cbd190ad703bbaf8bc

答案 2 :(得分:1)

要禁用编辑图标,您只需设置:

initialEntryMode: DatePickerEntryMode.calendarOnly,

答案 3 :(得分:0)

没有禁用该功能的选项。 这是datePicker上的flutter 1.17中的最新功能。

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

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

答案 4 :(得分:0)

Flutter 团队修复了输入格式的问题。感谢帮助