질문있습니다.
262
작성한 질문수 25
basket screen에서 appBar에 뒤로가기 기능을 입혀보려고 합니다. 다른 페이지들은 가능한데, 장바구니 페이지에서는 뒤로가기 기능이 안되더라고요, paginationListview로 씌우고 <BasketITemModel>를 넣으려고 해서 안되는 것 같은데요, 이게 가능하도록 하려면 어떻게 해야할까요?
답변 1
0
안녕하세요!
"안된다"라는 말씀만 해주시면 도움을 드리기 어렵습니다.
어떤게 어떻게 안되는지 설명을 해주셔야 제가 판단을 하고 답변을 드릴 수 있습니다.
"뒤로가기 기능이 안된다"라는게 무슨 말씀이신지 정확히 예시를 들어주시면 답변 드리겠습니다. (현재 플러터 프레임워크의 뒤로가기 기능에 버그는 없는걸로 확인됩니다)
감사합니다!
0
제가 설정한 코드는 다음과 같습니다.(DefaultLayout)
import 'package:flutter/material.dart';
class DefaultLayout extends StatelessWidget {
final Widget child;
final Color?
backgroundColor;
final String? title;
final Widget? leading;
final Widget? bottomNavigationBar;
final VoidCallback? onPressed;
final Widget? floatingActionButton;
final bool isMainPage;
const DefaultLayout({
required this.child,
this.backgroundColor,
this.title,
this.leading,
this.bottomNavigationBar,
this.onPressed,
this.floatingActionButton,
this.isMainPage = false,
super.key,
});
@override Widget build(BuildContext context) {
return Scaffold(
backgroundColor: backgroundColor ?? Colors.white,
appBar: renderAppBar(
context: context,
onPressed: onPressed,
isMainPage: isMainPage,
),
floatingActionButton: floatingActionButton,
body: child,
bottomNavigationBar: bottomNavigationBar,
);
}
AppBar? renderAppBar({
required BuildContext context,
required VoidCallback? onPressed,
required bool isMainPage,
}) {
if (title == null) {
return null;
}
return AppBar(
backgroundColor: Colors.white,
centerTitle: true,
title: Text(title!,
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500,
color: Colors.black,
),
),
leading: isMainPage
? null
: IconButton(
icon: Icon(
Icons.arrow_back,
color: Colors.black,
),
onPressed: onPressed,
),
);
}
}그런 다음에 매 페이지에,
return DefaultLayout(
title: '장바구니',
isMainPage: false,
onPressed: () {
Navigator.of(context).pop();
},
이런식으로 코딩을 해봤는데요, 결과는, 직전 페이지가 뜨지 않았습니다.
이렇게 검은색 창이 뜨고
You have popped the last page off of the stack, there are no pages left to show
'package:go_router/src/delegate.dart':
Failed assertion: line 116 pos 7: 'currentConfiguration.isNotEmpty'
라는 오류를 보내줍니다. 직전 뒤로가기 가능을 넣으려면 어떤 코드를 넣어야 할까요?
0
에러 메세지는 you have popped last page off of the stack 입니다.
라우터 스택에서 마지막 페이지인데 뒤로 가기를 했다고 번역 할 수 있는데요.
쉽게 말해서 마지막 페이지라 뒷 페이지가 없으니 현재 페이지를 없애면 아무 페이지도 존재하지 않는 검정 페이지가 뜨는 현상입니다.
아마 라우팅을 잘못하신 것 같은걸로 생각되는데 확인 해보시면 쉽게 해결 가능 할 듯 합니다!
Isar 마지막 업데이트는 2년전입니다.
0
30
0
FlutterSecureStorage 질문
0
31
0
Dio onError Interceptor 만드는 부분에 질문이 있습니다.
0
79
2
관리자 기능에 대한 질문
0
100
2
part 'restaurant_model.g.dart';
0
92
1
36강. dio 인터셉터에 storage를 전달하는 코드가 이해 안되는데요. 도움 부탁드립니다.
0
56
2
2번 반환 상황 관련 질문
0
61
2
riverpod 3.0
0
139
2
Asset folder??
0
82
2
디자이너와 협업 시 프레임 크기 설정 관련 질문
0
113
2
FutureProvider, StateNotifierProvider 선택 기준
0
70
2
컴포넌트 모델화
0
64
2
쿼리 파라미터
0
84
2
화면 안보임
0
67
2
PaginationListView
0
54
1
강의중 37.Dio onErrorInterceptor 작업하기 dio 관련 질문입니다.
0
101
2
프로토타입이미지
0
62
2
여러 객체를 상태 관리하는 방법에 대한 질문
0
84
2
장바구니 결제하기 응답이 500이 옵니다.
0
105
2
removeFromBasket에서 await patchBasket()을 마지막에 하면 에러나는거 아닌가요?
0
67
2
이 두가지는 완전히 동일한 기능인가요?
0
106
3
내부 코드를 작성하지 않은 CursorPaginationLoading가 어떻게 로딩상태를 갖는지 잘 모르겠습니다...
0
77
2
_SplashScreenState에서 storage를 late로 호출해서 한번만 불러와도 되나요?
0
86
2
코딩 작성 순서 관련 질문
0
88
2





