簡體   English   中英

如何返回上一個屏幕並重新加載第一個屏幕的所有功能?

[英]How to go back to the previous screen and reload all function of the first screen?

我有個問題。 如何返回上一個屏幕並重新加載第一個屏幕的所有功能?

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

要在導航時停止功能,請嘗試將其處置

 @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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM