import 'package:flutter/material.dart'; class DatePickerField extends StatelessWidget { final DateTime? selectedDate; final ValueChanged onDateSelected; const DatePickerField({ required this.selectedDate, required this.onDateSelected, }); @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( selectedDate == null ? '请选择日期' : '已选择日期: ${selectedDate!.year}年${selectedDate!.month}月${selectedDate!.day}日', ), SizedBox(height: 8), ElevatedButton.icon( icon: Icon(Icons.calendar_today, color: Colors.white), label: Text('选择日期'), onPressed: () async { final pickedDate = await showDatePicker( context: context, initialEntryMode: DatePickerEntryMode.calendarOnly, initialDate: DateTime.now(), firstDate: DateTime(2015, 8), lastDate: DateTime(2101), ); if (pickedDate == null) { return; } onDateSelected(pickedDate); }, style: ElevatedButton.styleFrom( shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), ), ), ], ); } }