질문
제가 궁금한 것은, Navigator.pushNamed
을 사용하여 다른 페이지로 이동할 때 appBar
에 나타나는 뒤로 가기 버튼을 제거하는 방법이 있는지 여부입니다. 결과 페이지에서 이 버튼을 사용하고 싶지 않은 이유는 이 버튼이 탐색에서 나오기 때문이며 세션이 다시 시작되도록 사용자가 로그아웃
버튼을 사용하도록하려는 것입니다.
답변
저는 다음과 같은 해결책이 있다고 믿습니다.
실제로는 다음 중 하나를 선택할 수 있습니다:
그 추한 뒤로 가기 버튼을 표시하지 않으려면 ( :]), 다음을 선택하십시오.:
AppBar(...,automaticallyImplyLeading: false,...)
;사용자가 뒤로 돌아가지 않기를 원하지 않으면 - 현재 뷰를 대체 - 다음을 선택하십시오:
Navigator.pushReplacementNamed(## 여기에 라우트 이름 ##)
;사용자가 뒤로 돌아가지 않기를 원하지 않으면 - 스택에서 특정 뷰를 대체 - 다음을 사용하십시오:
Navigator.pushNamedAndRemoveUntil(## 여기에 라우트 이름 ##, f(Route<dynamic>)→bool);
여기서 f는 새로운 것 바로 전에 유지하려는 마지막 뷰를 만날 때true
를 반환하는 함수입니다.사용자가 뒤로 돌아가지 않기를 원하지 않으면 - 절대로 - 다음을 사용하여 내비게이터 스택을 완전히 비웁니다:
Navigator.pushNamedAndRemoveUntil(context, ## 여기에 라우트 이름 ##, (_) => false);
댓글