Flutter 如何在颤振中检查DateTime初始化变量中的可空值
有两个主要问题:Flutter 如何在颤振中检查DateTime初始化变量中的可空值,flutter,datetime,dart,Flutter,Datetime,Dart,有两个主要问题: 不允许初始化DateTime变量 Date.now()随机初始化的dateTime变量的三元检查仍然无法检查空值 导入“包装:颤振/材料.省道”; 导入“包:intl/intl.dart”; 类NewTransaction扩展了StatefulWidget{ 最终函数transactionAddHandler; NewTransaction(this.transactionAddHandler); @凌驾 _NewTransactionState createState()
导入“包装:颤振/材料.省道”;
导入“包:intl/intl.dart”;
类NewTransaction扩展了StatefulWidget{
最终函数transactionAddHandler;
NewTransaction(this.transactionAddHandler);
@凌驾
_NewTransactionState createState();
}
类_NewTransactionState扩展了状态{
最终_titleController=TextEditingController();
最终_amountController=TextEditingController();
日期时间\u选择日期;
void _submitData(){
最终输入标题=_titleController.text;
final enteredAmount=double.parse(\u amountController.text);
如果(输入emount _submitData(),
),
文本字段(
装饰:输入装饰(标签文本:“金额”),
键盘类型:TextInputType.number,
控制器:\数量控制器,
OnSubmited:()=>submitData(),
),
容器(
身高:70,
孩子:排(
儿童:[
正文(
_selectedDate==null
“没有选择日期!”
:DateFormat.yMd().format(_selectedDate),
),
扁平按钮(
textColor:Theme.of(context.primaryColor),
子:文本(
“选择日期”,
样式:TextStyle(
fontWeight:fontWeight.bold,
),
),
onPressed:\u presentDatePicker,
)
],
),
),
升起的按钮(
按下按钮:\ u提交数据,
子:文本(
“添加事务”,
),
textColor:Colors.white,
颜色:主题。背景。原色,
)
],
),
),
);
}
}
一定要帮助我和弗利特社区更好地发展。提前感谢。如果
\u selectedDate
属性没有默认值,请将其设置为空:
class _NewTransactionState extends State<NewTransaction> {
...
DateTime? _selectedDate;
...
}
class\u NewTransactionState扩展状态{
...
日期时间?\您选择的日期;
...
}
我仍然遇到错误。解决了旧的初始化错误,但出现了新的错误。当我使用该变量使用intl包格式化时,它抛出一个错误,指出-参数类型“DateTime?”无法分配给参数类型“DateTime”。在使用它之前,您需要检查该变量是否为null。如果您确实确定在使用它时它不会为null,那么可以使用bang操作符:\u selectedDate代码>。我建议您进一步了解Dart中的零安全性:
class _NewTransactionState extends State<NewTransaction> {
...
DateTime? _selectedDate;
...
}