กล่องเลื่อน
บันทึกและกู้คืนตำแหน่งการเลื่อนภายในหน้าจอแบ่งตามชื่อคีย์.
การใช้งานพื้นฐาน
FlexLayoutSplitScreenScrollBoxจะกู้คืน scrollLeft/scrollTop ไปยังตำแหน่งที่บันทึกไว้ในขณะ mount และ throttle เหตุการณ์ scroll เพื่อบันทึกใน store.
"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"หากให้จะเปลี่ยน deltaY ของล้อในขณะที่ hover เป็น scrollLeft ในแนวนอน.
props
keyName
คีย์สำหรับบันทึกและคืนค่าตำแหน่งการเลื่อน
direction
เลือก x หรือ y โดย x จะแปลงการหมุนล้อเมาส์เป็นการเลื่อนแนวนอน
listScrollClassName
คลาสรูปแบบการเลื่อนที่กำหนดเอง หากระบุจะใช้ร่วมกับคลาส default-scroll แทนคลาส list-scroll ที่อิง direction
className
คลาสรูปแบบภายนอกที่นำมาใช้ร่วมกับรูปแบบในตัว