我四处张望,似乎找不到解决此问题的方法。我有一个Future<bool> = isAuth
。
我有一个定义如下的未来构建器:
FutureBuilder(
future: isAuth,
builder(context, snapshot){
if(connectionState == connectionState.done){
// Some Code Here
}
if(connectionState == ConnectionState.waiting){
CircularProgressIndicator()
}
}
我的问题是,我该如何返回一个部件,如果isAuth
回报率true
,而另一如果isAuth
回报false
?我在等待的结果时正在显示加载 Spinner isAuth
,一旦获得结果,我想显示两种形式之一吗?
您可以使用访问FutureBuilder
的future
值snapshot.data
。
不要忘记检查是否snapshot.data
使用定义了snapshot.hasData
:
FutureBuilder<bool>(
future: isAuth,
builder: (context, snapshot) {
if(connectionState == connectionState.done){
if (snapshot.hasData){
if (snapshot.data) return TrueWidget();
else return FalseWidget();
// Or with a one-liner :
// return snapshot.data ? TrueWidget() : FalseWidget();
}
}
if(connectionState == ConnectionState.waiting){
return CircularProgressIndicator(); // Don't forget to return a widget in a builder method
}
}
)
谢谢,这正是我想要的。