【发布时间】:2020-09-29 13:14:39
【问题描述】:
我正在尝试在我的流构建器小部件中添加拉动刷新。这是我迄今为止尝试过的部分代码
@override
Widget build(BuildContext context) {
return RefreshIndicator(
key: _refreshIndicatorKey,
onRefresh: _handleRefresh,
child: StreamBuilder<DataModel>(
stream: dataBloc.subject.stream,
builder: (context, AsyncSnapshot<DataModel> snapshot) {
if (snapshot.hasData) {
return passData(snapshot.data);
} else if (snapshot.hasError) {
return .....
} else {
return ......
}
}),
);
}
Future<void> _handleRefresh() async {
try {
bool trustSelfSigned = true;
HttpClient httpClient = new HttpClient()
..badCertificateCallback =
((X509Certificate cert, String host, int port) => trustSelfSigned);
IOClient http = new IOClient(httpClient);
final response = await http.post('...',
headers: {
HttpHeaders.contentTypeHeader: 'application/json',
},
body: json.encode({...}));
Map<String, dynamic> responseJson = json.decode(response.body);
return;
} catch (ex) {
print(ex.message);
}
}
但是每当我尝试向下滑动时...我看不到刷新指示器的重新加载图标..我应该添加更多内容吗? 我也添加了这段代码
final GlobalKey<RefreshIndicatorState> _refreshIndicatorKey =
GlobalKey<RefreshIndicatorState>();
【问题讨论】:
标签: flutter refresh stream-builder