Concat 3 个文本字段组成一个生日

Concat 3 textfields forming a birthday

3 Textfields are aligned in a row.

分别等待输入 dd mm yyyy。 在打开的页面上,自动对焦在第一个文本字段上,当输入达到 2 位数字时,自动对焦转到第二个文本字段。当输入达到 2 位数字时,自动对焦将转到最后一个 4 位数字的文本字段。 用户不需要输入'/'或'-'。只有日期可以。

Age Dialog formed

有谁知道如何为生日创建这样的文本字段组合?这样当用户按下 'Next' 按钮时,会形成一个对话框,要求用户确认 his/her age?

(意味着来自 3 个文本字段的输入被保存为生日,输出为(今天的当前日期 - 日期输入)= 年龄。

感谢任何指导!

您可能想为每个 TextField 创建一个 FocusNode,然后在您的 TextFields 的验证器中使用 birthdayMonthFocusNode.requestFocus().

您可以查看更多信息: https://flutter.dev/docs/cookbook/forms/focus

然后,当用户点击“下一步”按钮时,您必须做一点逻辑。 您为每个 TextFields 连接所有 TextEditingController().text 并使用 DateTime.tryParse() 您应该立即以用户的生日 DateTime 结束。