我有问题。如何返回上一个屏幕并重新加载第一个屏幕的所有功能?
在第1页上,我有几个函数可以从json和计算中加载所有数据。 当用户转到第2页并向json插入时,当suer返回第1页时,请重新加载第1页上的所有功能。
我具有如下功能:
Future<void> CountBalanced() {
ListDetailPaymentTransactions(global.strtransidtrans);
global.doubbalanced = global.inttotalpayment - global.doubtranstotaltrans;
print(global.inttotalpayment - global.doubtranstotaltrans);
}
目前,我找到了以下代码:
Navigator.push(context, MaterialPageRoute(builder: (context) => CashPayment())).whenComplete(CountBalanced);
但是问题是,当用户返回到第1页时,功能一直在运行并且不会停止。
当我尝试打印结果时,我注意到了。
有什么办法阻止它吗?还有什么更好的方法可以重新加载第1页上的所有功能?
答案 0 :(得分:0)
要在导航时停止功能,请尝试将其丢弃
@override
void dispose() {
super.dispose();
}
要重新加载方法
@override
void didUpdateWidget(ClassName oldWidget) {
super.didUpdateWidget(oldWidget);
if (comparision) {
//your initState
}
}
更多信息 https://docs.flutter.io/flutter/widgets/State/didUpdateWidget.html