这是一个时间日期提醒,提示输入的日期必须是未来的日期。解决办法是,在代码中检查输入的日期是否在当前日期之前,如果是,那么就提示用户输入未来日期。下面是一个示例代码片段:
import 'package:flutter/material.dart';
import 'package:timezone/timezone.dart';
class MyPage extends StatefulWidget {
@override
_MyPageState createState() => _MyPageState();
}
class _MyPageState extends State {
final _formKey = GlobalKey();
late TZDateTime _selectedDate;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Select a future date')),
body: Center(
child: Form(
key: _formKey,
child: Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: TextFormField(
decoration: InputDecoration(labelText: 'Select a date'),
onTap: () async {
final date = await showDatePicker(
context: context,
initialDate: TZDateTime.now(local),
firstDate: TZDateTime.now(local),
lastDate: TZDateTime.utc(2100),
);
if (date != null) {
_selectedDate = TZDateTime.from(date, local);
if (_selectedDate.isBefore(TZDateTime.now(local))) {
// The selected date is in the past
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Please select a future date')),
);
}
}
}
),
),
],
),
),
),
);
}
}