所以基本上我使用showModalBottomSheet小部件來顯示一個全屏容器,它有一個GestureDetector運行這個 onTap 的:
onTap: () {
final String testText = "Sup";
Navigator.of(context).pop(testText);
}
這顯然會await在我呼叫結果時回傳文本,showModalBottomSheet但是,我還想設定enableDrag: true以便我們可以將模態刷掉。
我的問題是:
滑動以關閉時如何將引數/結果傳回?使用函式,我可以簡單地做,Navigator.of(context).pop(...)但是當我們滑動時,沒有函式,因此當我們滑動關閉時,我無法找到傳遞引數的方法。
謝謝!
uj5u.com熱心網友回復:
當您滑動 pop() 方法被呼叫時,無論如何都無法覆寫它,但我想出了一種處理這種情況的方法:
您可以像這樣在 showModalBottomSheet() 上使用 then() 方法:
showModalBottomSheet(context: context, builder: (context) => SecondPage()).then((value) {
str = "done";
print("data: $str");
});
請記住,未來的值回傳在 pop() 方法中回傳的值,否則為空。
uj5u.com熱心網友回復:
使用此小部件并添加 Navigator.Pop。
->使用這個 WillPopScope
欲了解更多資訊,請訪問單擊此處
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/402069.html
上一篇:方法'[]'在null上被呼叫。接收器:null嘗試呼叫:[]("main")控制臺錯誤
下一篇:有狀態小部件中的子屬性
