You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 19:45:43