# Component/Drawer > Props: component-drawer.props.txt ## Examples ### Base ```tsx { render: args => { const [open, setOpen] = useState(false); return <> setOpen(false)}> Drawer Content
{args?.width && `width: ${args.width}`}
setOpen(false)} />
; } } ``` ### Direction ```tsx { render: (args) => { const directions: DrawerDirection[] = ['left', 'right']; const [open, setOpen] = useState({ left: false, right: false, }); return ( {directions.map((direction) => { return ( <> setOpen((prevOpen) => ({ ...prevOpen, [direction]: false }))} direction={direction} > Drawer Content setOpen((prevOpen) => ({ ...prevOpen, [direction]: false }))} /> ); })} ); }, args: {} } ``` ### Drawer With Modal ```tsx { render: (args: DrawerProps) => { const [show, setShow] = useState(false); const [show_modal, setShowModal] = useState(false); const onHandleConfirm = () => { Confirm({ zIndex: getZIndex('toast'), title: 'confirm' }); }; return <> setShow(false)} zIndex={getZIndex('modal')} {...args}> Body Content setShowModal(false)} cancelText='닫기' fullScreen> ; } } ``` ### Drawer With Modal No Use Portal ```tsx { render: (args: DrawerProps) => { const [show, setShow] = useState(false); const [show_modal, setShowModal] = useState(false); const onHandleConfirm = () => { Confirm({ zIndex: getZIndex('toast'), title: 'confirm' }); }; return <> setShow(false)} zIndex={getZIndex('modal')} {...args}> Body Content setShowModal(false)} cancelText='닫기' fullScreen> ; }, args: { noUsePortal: true } } ``` ### Drawer With Navigation Drawer 내부에 원하는 요소를 조합할 수 있습니다. ```tsx { parameters: { layout: 'fullscreen', docs: { description: { story: 'Drawer 내부에 원하는 요소를 조합할 수 있습니다.' } } }, render: () => { const [open, setOpen] = useState(false); const [currentMenu, setCurrentMenu] = useState(); const handleMenuChange = (id?: string) => { setCurrentMenu(id); handelClose(); }; const handelClose = () => { setOpen(false); }; return <> setOpen(true)}> 지그재그 zigzag.co.kr } /> }> N Beta } /> }> }> }>파트너라운지 ; } } ``` ### No Use Animation On Close ```tsx { render: args => { const [open, setOpen] = useState(false); return <> setOpen(false)}> Drawer Content
{args?.width && `width: ${args.width}`}
setOpen(false)} />
; }, args: { animationOnClose: false } } ``` ### No Use Portal ```tsx { render: (args) => { const [open, setOpen] = useState(false); return ( setOpen(false)}> Drawer Content setOpen(false)} /> ); }, args: { noUsePortal: true } } ``` ### Width ```tsx { render: args => { const [open, setOpen] = useState(false); return <> setOpen(false)}> Drawer Content
{args?.width && `width: ${args.width}`}
setOpen(false)} />
; }, args: { width: '50%' } } ```