flutter - 如何在页面上显示日期选择器而无需再点击一个按钮?
解决方案
您始终可以将选择器视为小部件,这就是为什么不需要通过单击按钮来调用它们的原因。检查下面的完整示例或在此处在线运行。
显示 Cupertino 日期选择器的示例代码:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: CupertinoDatePicker(
mode: CupertinoDatePickerMode.date,
initialDateTime: DateTime.now(),
onDateTimeChanged: (DateTime value) {},
),
);
}
}
对于材料小部件:
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: CalendarDatePicker(
onDateChanged: (DateTime value) {},
lastDate: DateTime.now().add(Duration(days: 30)),
firstDate: DateTime.now(),
initialDate: DateTime.now(),
),
);
}
}
如果您对此有任何进一步的疑问,请告诉我。
推荐阅读
- c# - button.OnClick 监听器触发两次
- javascript - 带参数的 JavaScript addEventListener 函数
- javascript - 如何让整个应用程序全局可用的 MySQL 连接
- c++ - C++:获取参数包的头部和尾部
- bash - 动态 Make Dependencies 可能吗?
- oracle - Oracle DBMS_DEBUG.GET_VALUE 在调试大包时无法获取变量值
- zeromq - ZeroMQ 正在丢弃消息
- snowflake-cloud-data-platform - 在“预览应用”中,过滤器不会更新
- node.js - Docker swarm secret 在 node.js api (mongoDB) 中无法正常工作
- apache - .htaccess 保留字?/ URL中的“目录”