【发布时间】:2020-05-20 05:59:03
【问题描述】:
我有一个 listView,它是使用 Future Builder 创建的刷新了,如何刷新我的列表?
FutureBuilder<List<NewAddressModel>>(
future: myAddressList,
builder: (context, snapshot) {
print(snapshot);
if (snapshot.hasData)
return addressList(snapshot.data);
else if (snapshot.hasError)
return _buildErrorPage(snapshot.error);
else
return _buildLoadingPage();
},
),
Widget _buildErrorPage(error) => Material(
child: Center(
child: Text("ERROR: $error"),
),
);
Widget _buildLoadingPage() => Material(
child: Center(
child: CircularProgressIndicator(),
),
);
IconButton (
icon: Icon(Icons.add_location),
onPressed: navigateToAddAddress
)
void navigateToAddAddress() async {
await Navigator.push(context, MaterialPageRoute(builder: (context) {
return AddAddress();
}));
}
【问题讨论】:
-
您是否尝试使用 Navigator.push().whenComplete(() { setState() {} })?
-
-
我使用@override void didChangeDependencies() { super.didChangeDependencies(); 解决了它_myList = hitApiGetData();这是正确的方法吗?