Flutter中选择日期后无需点击确定即可关闭日期选择器的方法
实现点击日期直接关闭选择器的方案
默认的showDatePicker需要点击确定按钮才会返回选中日期并关闭对话框,要实现选完日期直接关闭的效果,你可以直接用DatePickerDialog配合showDialog自定义行为,代码如下:
final pickedDate = await showDialog<DateTime>( context: context, builder: (context) { return DatePickerDialog( initialDate: DateTime.now(), firstDate: DateTime.now(), lastDate: DateTime(2100), onDateSelected: (selectedDate) { // 选中日期后直接关闭对话框并返回选中值 Navigator.pop(context, selectedDate); }, ); }, ); // 处理选中的日期,避免空安全报错 if (pickedDate != null) { _myDateTime = pickedDate; }
关键说明
DatePickerDialog的onDateSelected回调会在用户点击任意可选日期时触发,此时调用Navigator.pop就能直接关闭选择器并返回选中的日期- 这种方式不需要额外点击确定按钮,完全匹配你的需求
- 加入空值判断比直接用
!更稳妥,能避免空安全相关的报错
内容的提问来源于stack exchange,提问作者Red Player Gaming
相关产品推荐
相关产品推荐

