Skip to content

Accordion

Accordion component for switching between vertically stacked panels. Supports single-expand (accordion) and multi-expand modes with multiple visual variants.

Basic Usage

Use accordion prop for mutually exclusive mode. v-model binds a string value.

vue

<TAccordion v-model="activeName" accordion>
  <TAccordionItem name="item-1" title="Panel Title 1">
    Panel Content 1
  </TAccordionItem>
  <TAccordionItem name="item-2" title="Panel Title 2">
    Panel Content 2
  </TAccordionItem>
</TAccordion>

Multi-Expand Mode

Without the accordion prop, multiple panels can be expanded simultaneously. v-model binds an array.

vue

<TAccordion v-model="activeNames">
  <TAccordionItem name="item-1" title="Panel Title 1">Content 1</TAccordionItem>
  <TAccordionItem name="item-2" title="Panel Title 2">Content 2</TAccordionItem>
</TAccordion>

Variants

Use variant prop: default (bordered), flush (borderless).

Icons

Add icons via icon prop on TAccordionItem.


API

TAccordion Props

PropTypeDefaultDescription
model-valuestring | string[]''Expanded panel name(s)
accordionbooleanfalseSingle-expand mode
variant'default' | 'flush''default'Visual variant

TAccordionItem Props

PropTypeDefaultDescription
namestringPanel identifier (required)
titlestring''Panel title
iconComponentTitle icon
disabledbooleanfalseDisable panel