当小部件加载时,我正在加载数据,如下面的代码。一旦 UI 完全加载,我喜欢添加一个刷新按钮来重新加载数据。
如何刷新 View ?
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
var futureBuilder = new FutureBuilder(
future: _getData(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.none:
case ConnectionState.waiting:
return new Text('loading...');
default:
if (snapshot.hasError)
return new Text('Error: ${snapshot.error}');
else
return createListView(context, snapshot);
}
},
);
return new Scaffold(
appBar: new AppBar(
title: new Text("Home Page"),
),
body: futureBuilder,
);
}
Future<List<String>> _getData() async {
var values = new List<String>();
await new Future.delayed(new Duration(seconds: 5));
return values;
}
Widget createListView(BuildContext context, AsyncSnapshot snapshot) {
}
}
最佳答案
Widget createListView(BuildContext context, AsyncSnapshot snapshot) {
RaisedButton button = RaisedButton(
onPressed: () {
setState(() {});
},
child: Text('Refresh'),
);
//.. here create widget with snapshot data and with necessary button
}
https://stackoverflow.com/questions/53170330/
相关文章:
android - 错误 : The class 'SingleTickerProviderStat
android - Flutter 按住闪屏 3 秒。如何在 Flutter 中实现闪屏?
asynchronous - Flutter Redux snackbar
android - 在 Flutter 的登录屏幕中显示循环进度对话框,如何在 Flutter 中实
visual-studio-code - 带有 VSCode 的 Flutter 显示未安装,即使已
firebase - 如何在 Flutter 中用 Column 或 ListView 类包装 St