티스토리 뷰

728x90
반응형

맡은 프로젝트에서 회원가입 UI를 만드는데, 거주지역을 선택하는 부분에서

react-native-dropdown-picker

 

react-native-dropdown-picker

A single / multiple, categorizable, customizable, localizable and searchable item picker (drop-down) component for react native which supports both Android & iOS.. Latest version: 5.4.4, last published: 2 months ago. Start using react-native-dropdown-picke

www.npmjs.com

를 사용하였다.

하지만 이전 프로젝트에서도 잘 사용했던 라이브러리인데 android에서만 드롭다운의 스크롤이 동작하지 않는 것이었다.

 

chatGPT에게도 물어보고, 열심히 구글링을 해보았지만 공통되는 답변은

listMode="SCROLLVIEW"
              scrollViewProps={{
                nestedScrollEnabled: true,
              }}

이것을 추가하라는 방법 뿐이었다 :(

 

그래서 생각을 바꿔, 공식문서에 답이 있지 않을까 하여 열심히 찾아보던 중

혹시는 역시가 되었다.

 

View 안에 사용할때는 containerStyle을 가급적 피하고, border에 관련된 옵션도 주지 말라는 Rule이 있었다.

그래서

<DropDownPicker
              open={isSidoOpen}
              onOpen={onSidoOpen}
              value={props.sidoValue}
              items={sidoItems}
              setOpen={setIsSidoOpen}
              setValue={props.setSidoValue}
              setItems={setSidoItems}
              closeOnBackPressed={true}
              listMode="SCROLLVIEW"
              scrollViewProps={{
                nestedScrollEnabled: true,
              }}
              style={{
              	width : '100%',
              	borderWidth : 0,
              }}
              containerStyle={{
                width: '100%',
                borderWidth: 2,
              }}
              textStyle={{
                fontSize: 14,
                fontFamily: 'Pretendard-Bold',
              }}
              dropDownContainerStyle={{
                borderWidth: 2,
              }}
            />

이런 식으로 되어있던 것을

<DropDownPicker
              open={isSidoOpen}
              onOpen={onSidoOpen}
              value={props.sidoValue}
              items={sidoItems}
              setOpen={setIsSidoOpen}
              setValue={props.setSidoValue}
              setItems={setSidoItems}
              closeOnBackPressed={true}
              listMode="SCROLLVIEW"
              scrollViewProps={{
                nestedScrollEnabled: true,
              }}
              style={{
              	width : '100%',
              	borderWidth : 2,
              }}
              textStyle={{
                fontSize: 14,
                fontFamily: 'Pretendard-Bold',
              }}
              dropDownContainerStyle={{
                borderWidth: 2,
              }}
            />

위와 같은 코드로 containerStyle 대신 style Props에 Container 스타일을 지정해주면

드롭다운 내부가 스크롤 될 것이다.

728x90
반응형
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함