我的问题类似于Show datepicker on textfield tap,但我需要在Flutter中进行。
我有一个TextField显示一个日期,我想在用户点击它时弹出一个日期对话框。
是否应该使用另一个小部件代替TextField?
答案 0 :(得分:0)
尝试类似的方法
TextField(
onTap: () => print('tapped'),
decoration: InputDecoration(
border: InputBorder.none,
hintText: 'Enter a search term'),
);
答案 1 :(得分:0)
简短的回答:据我所知,没有专门用于此目的的小部件。
长答案:这取决于您选择日期后要执行的操作。另一个简单的解决方案是为此使用FlatButton
。它没有不必要的TextField
样式,同时又给用户一些水龙头的反馈。
FlatButton(
onPressed: () {
// call your dialog
},
child: Text(
"Select date",
),
)
答案 2 :(得分:0)
您可以尝试使用此软件包here,它确实是您想要实现的。
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:datetime_picker_formfield/datetime_picker_formfield.dart';
// ...
class BasicDateField extends StatelessWidget {
final format = DateFormat("yyyy-MM-dd");
@override
Widget build(BuildContext context) {
return Column(children: <Widget>[
DateTimeField(
format: format,
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: "Tanggal Lahir"),
onShowPicker: (context, currentValue) {
return showDatePicker(
context: context,
firstDate: DateTime(1900),
initialDate: currentValue ?? DateTime.now(),
lastDate: DateTime(2100));
},
),
]);
}
}