본문 바로가기
Flutter

[Flutter] Pagination

by hymndaniel 2023. 6. 28.

*코드팩토리님의 강의 내용 참조

 

 

pagination state의 5가지 가능성

1. 정상적으로 데이터가 있는 상태

2. 데이터가 로딩중인 상태 (현재 캐시 없음)

3. 에러가 있는 상태

4. 첫번째 페이지부터 다시 데이터를 가져올때

5. 추가 데이터를 paginate 해오라는 요청을 받았을 때

 

마지막 데이터에 도달했을때 loading 표시 혹은 마지막임을 알려주기 위해서는

ListView의 itemCount를 data.length +1 로 하고 itemBuilder 내부에서 

if (index == data.length) {
	return Padding(
    	padding : const EdgeInsets.symmetric(
        	horizontal : 16.0,
            vertical : 8.0,
        ),
        child : Center(
        	child : data.hasMore와 관련 로직 
            	? CircularProgressIndicator()
                : Text("마지막입니다."),
        ),
    );
}
 
728x90

'Flutter' 카테고리의 다른 글

[Flutter] ListView의 마지막 항목의 패딩  (0) 2023.06.28
[Flutter] (Cache) 캐시 관리  (0) 2023.06.28
[Flutter] constrain box size  (0) 2023.06.10
[Flutter] collection if with several widgets  (0) 2023.06.10
[Flutter] 버튼 정렬  (0) 2023.06.07