滚动框

在 Split screen 内部根据 keyName 保存和恢复滚动位置.


基本用法

FlexLayoutSplitScreenScrollBox将根据挂载时保存的位置恢复 scrollLeft/scrollTop,并对滚动事件进行节流以保存到 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를 유지하는 경우와 컴포넌트를 제거하는 경우는 다르며, 새로고침 후 복원을 보장하지 않습니다.

水平滚轮滚动

direction="x"如果提供,将 hover 中的 wheel deltaY 转换为水平 scrollLeft.

属性

keyName

用于保存和恢复滚动位置的键。

direction

可设为 x 或 y。x 将滚轮操作转换为横向滚动。

listScrollClassName

自定义滚动样式类。指定后,它与 default-scroll 类组合,而不使用基于 direction 的 list-scroll 类。

className

与内置样式组合使用的外部样式类。

© 2026 Byeolnaerim. 保留所有权利.介绍隐私政策