FLutter 检查 Textfield 控制器是否为空

问题描述

我有一个关于 Textfield 和控制器属性的问题。

我有一个站点 add_new_currency_screen.dart, 一开始我有文本字段,如: 名称、金额、价格、开始日期和结束日期。

现在是我的问题。 如果我打开“添加屏幕”,则结束日期始终为“空”,如果我输入开始日期,则结束日期应添加一年。

 TextFormField(
                      decoration: Inputdecoration(labelText: 'EndDate'),controller: _endDateController..text = DateFormat("dd.MM.yyyy").format(_pickedStartDate.add(Duration(days: 365))),enabled: false,),

问题是我在“null”上调用了“add”错误

在控制器中我不能使用 if else,和 _endDateController.text == null ? "empty" : DateFormat("dd.MM.yyyy").format(_pickedStartDate.add(Duration(days: 365))),不起作用....

我如何检查或如何解决此问题,如果选择了 startDate,则 endDate 中的控制器正在执行此操作,否则,请不要使用“添加

希望我能正确解释,有人可以帮助我:)

谢谢大家, 最好的祝福 汤米

解决方法

如果您在 null 上调用了“add”,则问题与 _pickedStartDate

所以也许尝试类似的东西:

controller: _endDateController..text = _pickedStartDate != null ? DateFormat("dd.MM.yyyy").format(_pickedStartDate.add(Duration(days: 365))) : '',