在Flutter中保存从DateTimeField中选择的日期时间,可以通过以下步骤实现:
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
DateTime selectedDateTime;
DateTimeField(
format: DateFormat('yyyy-MM-dd HH:mm'), // 设置日期时间格式
onShowPicker: (context, currentValue) async {
final date = await showDatePicker(
context: context,
initialDate: currentValue ?? DateTime.now(),
firstDate: DateTime(2000),
lastDate: DateTime(2100),
);
if (date != null) {
final time = await showTimePicker(
context: context,
initialTime: TimeOfDay.fromDateTime(currentValue ?? DateTime.now()),
);
selectedDateTime = DateTimeField.combine(date, time);
return selectedDateTime;
} else {
return currentValue;
}
},
),
FlatButton(
onPressed: () {
if (selectedDateTime != null) {
// 在这里使用selectedDateTime变量
print(selectedDateTime);
} else {
// 未选择日期时间的处理逻辑
}
},
child: Text('保存'),
),
以上代码中,我们使用了DateTimeField小部件来创建一个日期时间选择器。通过设置format属性,我们可以指定日期时间的显示格式。在onShowPicker回调函数中,我们首先显示一个日期选择器,然后根据用户选择的日期,再显示一个时间选择器。最后,我们将日期和时间组合成一个DateTime对象,并将其赋值给selectedDateTime变量。
在保存按钮的点击事件中,我们可以使用selectedDateTime变量来处理选择的日期时间。如果用户未选择日期时间,则selectedDateTime将为null,可以根据需要进行处理。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云