Search
πŸ’‘

Collapsible

Context

shadcn/uiμ—μ„œλŠ” μ–΄λŠ μ•„μ΄ν…œμ„ μ ‘μ—ˆλ‹€ νˆλ‹€ ν•˜λŠ” κΈ°λŠ₯을 λ§Œλ“€ λ•Œ Collapsible μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‚¬μš©ν•œλ‹€. 이λ₯Ό λΆ„μ„ν•˜κ³  κ·Έ λ‚΄μš©μ„ μ΄ν•΄ν•˜κΈ° μœ„ν•΄ 이 글을 μž‘μ„±ν•˜μ˜€λ‹€.

Agenda

β€’
Collapsible μ»΄ν¬λ„ŒνŠΈ λ‚΄μš©μ„ λΆ„μ„ν•˜κ³  μ΄ν•΄ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ 함

Contents

shadcn/ui의 Sidebar μ»΄ν¬λ„ŒνŠΈμ—μ„œλŠ” Group의 Sub Item을 μ ‘μ—ˆλ‹€ νˆλ‹€ ν•  수 μžˆλŠ” κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. 이 κΈ°λŠ₯은 Collapsibleμ΄λΌλŠ” μ»΄ν¬λ„ŒνŠΈμ™€ κ·Έ ν•˜μœ„ μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‘°ν•©ν•˜μ—¬ κ΅¬ν˜„λœλ‹€.
function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>) { return <CollapsiblePrimitive.Root data-slot='collapsible' {...props} />; }
TypeScript
볡사
Collapsible μ»΄ν¬λ„ŒνŠΈμ΄λ‹€. radix-ui의 Collapsible.Root을 κ°μ‹ΈλŠ” ν˜•μ‹μœΌλ‘œ κ΅¬ν˜„μ΄ λ˜μ–΄μžˆλ‹€. κΈ°λŠ₯μ μœΌλ‘œλŠ” μ»¨ν…μΈ μ˜ 펼쳐짐과 μ ‘νžˆλŠ” μƒνƒœλ₯Ό κ΄€λ¦¬ν•˜κ³  ν•˜μœ„ Trigger와 Content의 μ»¨ν…μŠ€νŠΈλ₯Ό μ œκ³΅ν•œλ‹€.
function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) { return ( <CollapsiblePrimitive.CollapsibleTrigger data-slot='collapsible-trigger' {...props} /> ); }
TypeScript
볡사
CollapsibleTrigger λ˜ν•œ radix-ui의 Collapsible Triggerλ₯Ό κ°μ‹ΈλŠ” wrapper μ»΄ν¬λ„ŒνŠΈμ΄λ‹€. κΈ°λŠ₯μ μœΌλ‘œλŠ” Collapsible Root의 펼침 μ ‘νž˜ μƒνƒœλ₯Ό ν† κΈ€ν•˜λŠ” λ²„νŠΌμ΄λ‹€.
function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) { return ( <CollapsiblePrimitive.CollapsibleContent data-slot='collapsible-content' {...props} /> ); }
TypeScript
볡사
CollapsibleContentλŠ” radix-ui의 Collapsible Contentλ₯Ό κ°μ‹ΈλŠ” wrapper μ»΄ν¬λ„ŒνŠΈμ΄λ‹€. μ•žμ˜ Collapsible μ»΄ν¬λ„ŒνŠΈμ™€ CollapsibleTrigger μ»΄ν¬λ„ŒνŠΈμ™€ 차이점 없이 λͺ¨λ‘ radix-ui의 μ»΄ν¬λ„ŒνŠΈλ₯Ό κ°μ‹ΈλŠ” wrapper ν˜•νƒœμ΄λ‹€.
배치 ν˜•νƒœλŠ” λ‹€μŒκ³Ό κ°™λ‹€.
Collapsible (Root) β”œβ”€β”€ CollapsibleTrigger (μ—΄κ³  λ‹«λŠ” λ²„νŠΌ) └── CollapsibleContent (펼쳐질 λ‚΄μš©)
Plain Text
볡사
<Collapsible> <CollapsibleTrigger> μ—΄κΈ° / λ‹«κΈ° </CollapsibleTrigger> <CollapsibleContent> λ‚΄μš© </CollapsibleContent> </Collapsible>
JavaScript
볡사
Collapsible이 μ΅œμƒλ‹¨μ—μ„œ CollapsibleTrigger와 CollapsibleContentλ₯Ό 감싼닀. CollapsibleTrigger와 CollapsibleContentλŠ” ν˜•μ œ depth에 μœ„μΉ˜ν•œλ‹€. 그리고 μœ„μ— μ„€λͺ…ν•œκ²ƒ 처럼 CollapsibleTriggerλ₯Ό 톡해 CollapsibleContentλ₯Ό νŽΌμΉ˜κ±°λ‚˜ 접을 수 μžˆλ‹€.