为了演示这个问题,让我写一些代码FutureBuilder
。
FutureBuilder(future: _myFuture, builder: (context, snapshot) {
if(snapshot.hasData) {
// !!!! IMPORTANT !!!
// Pay attention to the _isFirstText variable below
return SizedBox(
child: _isFirstText ? Text(snapshot.data.firstText) : Text(snapshot.data.secondText),
);
}
if(snapshot.connectionState == ConnectionState.isWaiting) {
return Text('Waiting!');
}
return Text('Error');
}),
正如我在上面代码的注释中提到的,请注意_isFirstText
变量。假设这是一个状态变量。在future builder中,如何获得与isFirstText
状态变量更改相对应的正确返回值。
我也遇到了这个堆栈溢出帖子,但无法让代码工作。
我还遇到了一个名为 的小部件StatefulBuilder
,但我不知道FutureBuilder
应该在哪里使用它。
有人可以帮忙吗?