Я хочу, если статус успеха перемещается на другой экран с помощью навигации pu sh, но результаты переходят на следующую страницу, но повторение не прекращается. процесс переключения между страницами повторяется. как сделать так, чтобы процесс смены страниц не повторялся ??
body: StreamBuilder<ApiResponse<PostpaidInquiry>>(
stream: inquirPostpaid.subject,
builder: (context, snapshot) {
if (snapshot.hasData) {
switch (snapshot.data.status) {
case Status.LOADING:
_onWidgetDidBuild((){
Scaffold.of(context).showSnackBar(
SnackBar(
content: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(snapshot.data.message),
CircularProgressIndicator(),
],
),
backgroundColor: Colors.black,
),
);
});
break;
case Status.COMPLETED:
_onWidgetDidBuild(() {
AppRoutes.push(context, PlnPostpaidInquiryPage());
});
break;
case Status.ERROR:
_onWidgetDidBuild(() {
Scaffold.of(context).showSnackBar(SnackBar(
content: Text('${snapshot.data.message}'),
backgroundColor: Colors.red,
));
});
break;
}
}
return _buildForm();
},
),
Я использовал этот метод, чтобы помочь go перейти на другую страницу:
void _onWidgetDidBuild(Function callback) {
WidgetsBinding.instance.addPostFrameCallback((_) {
callback();
});
}