Flutter Navigator.of(context).pop vs Navigator.pop(context)的区别

问题描述 投票:1回答:1

Navigator.of(context).popNavigator.pop(context)有什么区别?

对我来说,两者似乎做了同样的工作,实际的差异是什么。一个被弃用了吗?

dart flutter
1个回答
0
投票

Navigator.of(context).pop尊重系统如何处理背压,而Navigator.pop(context)则没有。

下面显示了我已禁用后退按钮按下的情况,但第二个按钮仍允许它。

@override
Widget build(BuildContext context) {
  return WillPopScope(
    onWillPop: () => Future.value(false), // disabling back press
    child: Scaffold(
      appBar: AppBar(title: Text("Back button")),
      body: Center(
        child: Column(
          children: <Widget>[
            RaisedButton(onPressed: () => Navigator.of(context).pop), // won't allow back press
            RaisedButton(onPressed: () => Navigator.pop(context)), // allows back press
          ],
        ),
      ),
    ),
  );
}
© www.soinside.com 2019 - 2024. All rights reserved.