import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:velocity_x/velocity_x.dart'; class BeeDatePicker { static Future pick(DateTime initDate) async { return await Get.bottomSheet(_BeeDatePicker(date: initDate)); } } class _BeeDatePicker extends StatefulWidget { final DateTime date; _BeeDatePicker({Key key, @required this.date}) : super(key: key); @override __BeeDatePickerState createState() => __BeeDatePickerState(); } class __BeeDatePickerState extends State<_BeeDatePicker> { DateTime _date = DateTime.now(); @override void initState() { super.initState(); _date = widget.date ?? DateTime.now(); } @override Widget build(BuildContext context) { return SizedBox( child: Material( borderRadius: BorderRadius.vertical(top: Radius.circular(10)), child: Column( children: [ SizedBox( height: 48, child: NavigationToolbar( leading: TextButton( onPressed: Get.back, child: '取消'.text.black.make(), ), trailing: TextButton( onPressed: () => Get.back(result: _date), child: '确定'.text.black.make(), ), ), ), CupertinoDatePicker( initialDateTime: _date, onDateTimeChanged: (date) => _date = date, mode: CupertinoDatePickerMode.date, ).expand(), ], ), ), height: Get.height / 3, ); } }