Flutter DateTime TextFormField选日期后不显示问题(关联Firebase)
问题解决:选择日期后TextFormField不显示日期
你的问题核心是未更新TextFormField绑定的控制器内容。你通过saidadatecontroller控制输入框,但选择日期后仅修改了datasaida变量,没有将格式化后的日期赋值给控制器的text属性,导致输入框无法同步显示选中的日期。
修改onTap中的代码即可修复:
onTap: () async { DateTime? pickeddate = await showDatePicker( context: context, initialDate: DateTime.now(), firstDate: DateTime(2022), lastDate: DateTime(2036)); if (pickeddate != null) { setState(() { datasaida = DateFormat('dd-MM-yyyy').format(pickeddate); // 新增该行,同步更新控制器文本 saidadatecontroller.text = datasaida; }); } },
如果不需要单独维护datasaida变量,也可以直接通过控制器获取输入值,比如在onChanged中使用saidadatecontroller.text,减少冗余变量。
内容的提问来源于stack exchange,提问作者duda
相关产品推荐
相关产品推荐

