Scroll Box

Split screen 내부 스크롤 위치를 keyName 기준으로 저장하고 복원합니다.


기본 사용

FlexLayoutSplitScreenScrollBox는 mount 시 저장된 위치로 scrollLeft/scrollTop을 복원하고, scroll 이벤트를 throttle하여 store에 저장합니다.

tsx
"use client";

import { FlexLayoutSplitScreenScrollBox } from "@byeolnaerim/flex-layout";

export default function CustomerList() {
  return (
    <FlexLayoutSplitScreenScrollBox
      keyName="customer-list"
      direction="y"
      style={{ height: 240, overflowY: "auto" }}
    >
      {Array.from({ length: 40 }, (_, index) => (
        <div key={index} style={{ padding: 12 }}>
          Customer {index + 1}
        </div>
      ))}
    </FlexLayoutSplitScreenScrollBox>
  );
}

상태 수명과 확인 방법

높이가 제한되어야 박스 내부에서 스크롤됩니다. 각 박스에는 서로 다른 keyName을 사용합니다. 현재 구현은 70ms throttle로 위치를 저장하고, unmount 또는 keyName 변경 시 이전 키를 삭제합니다. 따라서 탭을 숨겨 mount를 유지하는 경우와 컴포넌트를 제거하는 경우는 다르며, 새로고침 후 복원을 보장하지 않습니다.

가로 wheel scroll

direction="x"를 주면 hover 중 wheel deltaY를 가로 scrollLeft로 변환합니다.

props

keyName

스크롤 위치를 저장/복원할 key입니다.

direction

x 또는 y입니다. x는 wheel을 가로 스크롤로 처리합니다.

listScrollClassName

사용자 스크롤 스타일 클래스입니다. 지정하면 direction 기반 list-scroll 대신 default-scroll 클래스와 결합됩니다.

className

외부 스타일 클래스입니다. 기본 스타일과 함께 합쳐집니다.

© 2026 Byeolnaerim. All rights reserved.소개개인정보처리방침