本周我仍在學習新的顫振,似乎課程已經過時,所以每次我遇到空安全錯誤時我都在掙扎。現在,我不能使用 showbottomsheet .. 嘗試過 null check(!) 但 onPressed() 總是回傳 null ,我不知道我該怎么做才能防止這種情況發生..
錯誤:無法無條件呼叫方法“showBottomSheet”,因為接收器可以為“null”。
當我使用空檢查時:它說“不能使用空運算元”
這是我使用的一段代碼:
var scaffoldkey = GlobalKey<ScaffoldState>();
onPressed: () {
scaffoldkey.currentState.showBottomSheet(
(context) => Container(
color: Colors.red,
padding: EdgeInsets.all(
20.0,
),
),
);
},
uj5u.com熱心網友回復:
只需在錯誤代碼前加上問號或感嘆號:
var scaffoldkey = GlobalKey<ScaffoldState>();
onPressed: () {
scaffoldkey.currentState?.showBottomSheet(
(context) => Container(
color: Colors.red,
padding: EdgeInsets.all(
20.0,
),
),
);
},
問題:currentState 可能為空。如果你放一個問號,當它為空時它什么也不做,不呼叫 showBottomSheet 方法。
如果你打一個感嘆號,它會強制呼叫 showBottomSheet 方法,即使它為空,如果它為空,它會像空感知時代之前一樣拋出錯誤。
uj5u.com熱心網友回復:
試試下面的代碼希望它對你有幫助。只需單擊其他并查看您的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/330993.html
下一篇:計時器不會停止
