BottomSheet
화면 하단에서 위로 슬라이드하면서 나타나는 모달 인터페이스로, 추가적인 옵션이나 정보를 사용자에게 제공할 때 유용합니다.
기본 사용법
import { useOverlay, ZSContainer, useTheme } from "@0610studio/zs-ui";
const { showBottomSheet } = useOverlay();
<Button
title="show_BottomSheet"
color="#331599"
onPress={() => {
showBottomSheet({
isScrollView: true,
contentsGestureEnable: false,
maxHeight: 300,
showsVerticalScrollIndicator: true,
component: (
<MyBottomSheet
onConfirm={() => {
console.log("event");
}}
/>
),
});
}}
/>
MyBottomSheet.tsx
import { ColorPalette, ThemeBackground, useOverlay, ZSPressable, ZSText, ZSView, useTheme } from '@0610studio/zs-ui';
function MyBottomSheet({ onConfirm }: MyBottomSheetProps) {
const { hideOverlay } = useOverlay();
const handleConfirmPress = useCallback(() => {
onConfirm?.();
}, [onConfirm]);
const handleClosePress = useCallback(() => {
hideOverlay('bottomSheet');
}, [hideOverlay]);
return (
<ZSView style={styles.container}>
<ZSPressable fullWidth style={styles.confirm} onPress={handleConfirmPress}>
<ZSText>확인</ZSText>
</ZSPressable>
<ZSPressable fullWidth style={styles.button} onPress={handleClosePress}>
<ZSText>닫기</ZSText>
</ZSPressable>
</ZSView>
);
}
API 참조
showBottomSheet
함수
showBottomSheet
함수는 Bottom Sheet 알림을 표시하는 데 사용됩니다. 이 함수는 ShowBottomSheetProps
타입의 객체를 인수로 받습니다.
사용법
showBottomSheet(props: ShowBottomSheetProps): void
ShowBottomSheetProps
인터페이스
ShowBottomSheetProps
는 showBottomSheet
함수에 전달되는 속성을 정의합니다.
interface ShowBottomSheetProps {
backgroundColor?: string;
isBottomRadius?: boolean;
marginHorizontal?: number;
isHandleVisible?: boolean;
marginBottom?: number;
padding?: number;
component: React.ReactNode;
contentsGestureEnable?: boolean;
maxHeight?: number;
isScrollView?: boolean;
showsVerticalScrollIndicator?: boolean;
headerComponent?: React.ReactNode;
}