如何返回上一个屏幕并重新加载第一个屏幕的所有功能?

时间:2019-03-14 02:23:46

标签: flutter

我有问题。如何返回上一个屏幕并重新加载第一个屏幕的所有功能?

在第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页上的所有功能?

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