-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/fe-061 Dropdown 수정사항 반영 #100
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BottomSheet와 Dropdown 업데이트 내역 확인했습니다. 고생하셨습니다 감사합니다!
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅
체크 리스트
작업 내역
Dropdown.Button
작은 사이즈 대응Dropdown.BottomSheet
생성Dropdown.Modal
생성 (이 모달은 무조건 화면 정가운데 위치 하도록 되어 있습니다)BottomSheet
,Modal
일부 수정문제 상황과 해결
BottomSheet
수정 사항디자인 시안에 따라 최소 높이를 추가 적용
BottomSheetView
라는 컴포넌트로 UI로직과 다른 로직들을 분리Dropdown.BottomSheet
에서useModalControl
훅을 사용할 필요없이 UI만 필요하기 때문에 수정작업이 필요했습니다.Modal
수정 사항position:fixed
추가BottomSheet
위에Modal
이 들어가는 경우가 존재하여 배경 흐림효과를 선택적으로 적용할 수 있도록 인자를 추가했습니다.해결되지 않는 문제
위와 같은 코드에서 화면 정가운데에 위치해야할
Modal
이BottomSheet
를 기준으로 가운데 위치하도록 되고 있는데 그 원인을 모르겠습니다.. 처음에는 부모(BottomSheet
) 와 자식(Modal
)이position:fixed
여서 생기는 문제인줄 알았는데 여기에서는 부모 자식 모두position:fixed
속성을 가져도 자식 요소는 그냥 화면 기준으로 가운데 정렬되는 것을 보고.. 더 머리아파졌습니다 😢(2023.07.10 이슈 대응 완료)
Dropdown.BottomSheet 내부에 Dropdown.Modal이 있는 경우 가운데 정렬이 안되는 이슈
문제상황
position:fixed
는 원칙적으로는 자신의 위치를 결정할 때viewport
를 기준으로 하게 되어있다BottomSheet
는 애니메이션 효과를 위해transform
을 적용 해놓은 상태이다.Dropdown.Modal
은 부모 요소인BottomSheet
의 transform 속성에 의해서transform
속성 만큼한 것을 기준으로viewport
가 설정된다고 한다.'transform3d' not working with position: fixed children
position:fixed; top: 50%; left: 50%
는 가운데의 기준을viewport
가 아닌BottomSheet
로 잡아버리게 되었던 것…해결
createPortal
을 통해서Dropdown.Modal
을overlay-container
로 이동시켜서 가운데 정렬이 가능하게 했다.Dropdown.BottomSheet
가 존재하지 않도록 했다.그냥 BottomSheet 내부에서 Dropdown.Modal이 있는 경우
문제 상황
BottomSheet
컴포넌트는 내부적으로useClickOutside
를 사용하고 잇다.Modal
내 아이템 요소를 누르면BottomSheet
는 click outside로 인지해 버려서 같이BottomSheet
도 같이 닫혀버린다 lol해결책
BottomSheet
내부에는onClickOutside
를 제거하고 배경이 눌렸을때close
되도록 로직을 수정했다useModalControl
내부에 있던useClickOutside
로직을 제거해서 해결했다비고