当用户按下后退按钮时,我需要对页面进行更改(更改setState中的bool等)。
我查了一下,我知道人们使用WillPopScope来覆盖默认的“后退”操作,但在所有的例子中,他们只是弹出页面,我需要做一个自定义函数来代替它,但不知道如何做。我的函数看起来像这样,我需要在用户按下后退按钮时运行:
Future<void> backToCats() async{
setState(() {
isLoaded=false;
});
if(isFromSearch){
loadCategories();
}
setState(() {
showingBrands=false;
isLoaded=true;
});
}
1条答案
按热度按时间0tdrvxhp1#
您可以在WillPopScope小工具的onWillPop参数中执行自定义逻辑。只需确保在末尾返回true或false,以指示是否允许弹出页面。WillPopScope将激活后退按钮和其他自动向后导航的操作,例如在iOS上从屏幕侧面滑动。
例如,如果您需要在有状态小部件中将bool设置为false,则如下所示