我有一个底部导航栏包含一个按钮。我想只在futurebuilder中有数据并且连接完成时才显示按钮。
到目前为止,我已经介绍了一个名为loadButton的布尔变量,它最初被设置为false。然后在我未来的构建器中,在connectionSate = done的if条件下,我将loadButton设置为true。然后我用这个布尔变量控制底部导航栏的可见性。 到目前为止,这个按钮还不可见。我只看到一个连续加载旋转器。如何更改布尔值?代码如下:
FutureBuilder(
future: _someFuture,
builder: (ctx,dataSnapshot){
if(dataSnapshot.connectionState == ConnectionState.done)
loadButton = true;
}),
bottomNavigationBar: loadButton?MaterialButton(
onPressed: () => {},
child: Text(_register ? 'REGISTER' : 'LOGIN'),
):Center(child:Loading())
转过来,把bottomNavigationBar
变成FutureBuilder
:
bottomNavigationBar: FutureBuilder(
future: _someFuture,
builder: (ctx, snapshot) {
if (dataSnapshot.connectionState == ConnectionState.done) {
return Center(child: Loading());
} else {
return MaterialButton(
onPressed: () => {},
child: Text(_register ? 'REGISTER' : 'LOGIN'));
}
}),