Flutter Flatter FutureBuilder/Stream如何在ConnectionState.waiting中显示2个不同的小部件取决于给定的时间
我想在Flutter Flatter FutureBuilder/Stream如何在ConnectionState.waiting中显示2个不同的小部件取决于给定的时间,flutter,flutter-futurebuilder,Flutter,Flutter Futurebuilder,我想在ConnectionState.waiting的第一秒钟显示Text()小部件,但如果需要的时间超过一秒钟,我想显示另一个带有自定义动画的小部件 简化代码(无状态小部件): 。。。 流动 ... if(snapshot.connectionState==connectionState.waiting){ 返回文本(“加载数据”); 返回CustomWidget();我不知道这是否是您需要的 首先定义DateTime变量: DateTime time = DateTime.now(); 然
ConnectionState.waiting
的第一秒钟显示Text()
小部件,但如果需要的时间超过一秒钟,我想显示另一个带有自定义动画的小部件
简化代码(无状态小部件):
。。。
流动
...
if(snapshot.connectionState==connectionState.waiting){
返回文本(“加载数据”);
返回CustomWidget();我不知道这是否是您需要的
首先定义DateTime变量:
DateTime time = DateTime.now();
然后在使用当前日期时间设置的生成方法中:
@override
Widget build(BuildContext context) {
time = DateTime.now();
然后在结果中,您可以使用当前日期时间检查“time”变量,如下所示:
if (snapshot.connectionState == ConnectionState.waiting) {
if (DateTime.now().difference(time).inSeconds>10){
return Text("More than 10 seconds");
}
else {
return Text('Less than 10 seconds');
}
}
我不知道这是否是你需要的
首先定义DateTime变量:
DateTime time = DateTime.now();
然后在使用当前日期时间设置的生成方法中:
@override
Widget build(BuildContext context) {
time = DateTime.now();
然后在结果中,您可以使用当前日期时间检查“time”变量,如下所示:
if (snapshot.connectionState == ConnectionState.waiting) {
if (DateTime.now().difference(time).inSeconds>10){
return Text("More than 10 seconds");
}
else {
return Text('Less than 10 seconds');
}
}
您所说的更长时间是什么意思?连接时只调用一次等待状态。您所说的更长时间是什么意思?连接时只调用一次等待状态。这正是我想要的,非常感谢!这正是我想要的,非常感谢!