flutter - ShowTimePicker 我需要在文本字段上显示时间选择器
问题描述
defultFormField(
controller: timeController,
onSubmit: () {},
onTap: () {
showTimePicker(
useRootNavigator: true,
context: context,
initialTime: TimeOfDay.now(),
).then((value) {
print(value);
});
},
and this is the components
Widget defultFormField({
required Function onTap,
required Function onSubmit,
required TextEditingController controller,
// required TextInputType type,
required String text,
required IconData prefix,
required Function valedate,
}) =>
TextFormField(
controller: controller,
// keyboardType: type,
onTap: () {},
onFieldSubmitted: (s) {},
validator: (s) {
valedate();
},
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: text,
prefixIcon: Icon(prefix),
),
);
解决方案
试试下面的代码希望它对你有帮助。或者你也可以使用这个包。
声明 TimeOfDay 类
TimeOfDay _time = TimeOfDay(hour: 00, minute: 00);
为 TimePicker 创建函数
void _selectTime() async {
final TimeOfDay? newTime = await showTimePicker(
context: context,
initialTime: _time,
);
if (newTime != null) {
setState(() {
_time = newTime;
});
}
}
你的小部件
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: TextFormField(
decoration: InputDecoration(
hintText: 'Select Time',
border: OutlineInputBorder(),
),
onTap: _selectTime,
),
),
SizedBox(height: 8),
Text(
'Selected time: ${_time.format(context)}',
),
],
),
推荐阅读
- php - php artisan schema:dump --prune 导致错误
- neo4j - 匹配关系py2neo ogm
- vb.net - VB.NET System.collections.ArrayList 无法转换为 List 类
- javascript - Websocket 客户端-服务器应用程序,在 javascript 中发送和接收语音笔记
- c# - 使用 Microsoft Excel 互操作读取和转换 CSV 文件会引发 System.ExecutionEngineException
- mysql - SQL求和选择返回null
- r - R Plumber 数据库连接最佳实践
- nginx - vue3 ssr 的 nginx 定位规则
- javascript - 为什么 .json 输出中的内置指标“vus”不反映控制台输出?
- javascript - javascript - 在匹配另一个数组中的相应值后,如何根据一个数组中的值提取数据?