Web Components 아코디언 개요

    Ignite UI for Web Components Accordion은 클릭 가능한 헤더와 관련 콘텐츠 섹션이 단일 컨테이너에 표시되는 수직 확장형 패널을 구축하기 위한 GUI 구성 요소입니다. 아코디언은 일반적으로 단일 페이지에서 콘텐츠의 여러 섹션을 스크롤할 필요성을 줄이는 데 사용됩니다. 기본 패널의 확장 상태를 제어하기 위한 키보드 탐색 및 API를 제공합니다.

    사용자는 썸네일이나 라벨과 같은 항목 목록 간에 상호 작용하고 탐색할 수 있습니다. 포함된 정보를 표시하기 위해 각 항목을 전환(확장 또는 축소)할 수 있습니다. 구성에 따라 한 번에 하나 또는 여러 개의 확장된 항목이 있을 수 있습니다.

    Web Components Accordion Example

    다음은 FAQ 섹션의 Ignite UI for Web Components 예입니다. 개별 작업 섹션이 있는 아코디언처럼 작동합니다. 한 번의 클릭으로 각 텍스트 블록을 전환하는 동시에 여러 패널을 동시에 확장할 수 있습니다. 이렇게 하면 매번 이전에 열었던 섹션을 숨기는 자동 확장 및 축소 패널 사이를 오갈 필요 없이 정보를 더 쉽게 읽을 수 있습니다.

    여기서는 아코디언과 해당 확장 패널을 정의하는 방법을 볼 수 있습니다. 또한 이 샘플은 두 가지 유형의 확장 동작을 보여줍니다. 스위치 버튼은 한 번에 확장할 단일 분기와 다중 분기 사이를 전환하도록 singleExpand 속성을 설정합니다.

    Getting Started with Web Components Accordion

    먼저 다음 명령을 실행하여 Ignite UI for Web Components 설치해야 합니다.

    npm install igniteui-webcomponents
    

    IgcAccordionComponent 사용하기 전에 다음과 같이 등록해야 합니다.

    import { defineComponents, IgcAccordionComponent } from 'igniteui-webcomponents';
    
    defineComponents(IgcAccordionComponent);
    

    Ignite UI for Web Components 에 대한 전체 소개는 시작 항목을 참조하세요.

    이제 IgcAccordionComponent 및 해당 패널의 기본 구성으로 시작할 수 있습니다.

    Usage

    Web Components 아코디언 구성 요소의 각 섹션은 Web Components 확장 패널을 사용하여 정의됩니다. 패널은 요구 사항에 따라 패널 상태를 구성할 수 있는 기능을 제공하는 DisabledOpen 속성을 제공합니다.

    Declaring an Accordion

    아코디언은 그 안에 선언 된 모든 확장 패널을 감쌉니다.

    <igc-accordion id="accordion" single-expand="true">
        <igc-expansion-panel>
            <div slot="title">Title Panel 1</div>
            <div>
                Content Panel 1
            </div>
        </igc-expansion-panel>
        <igc-expansion-panel>
            <div slot="title">Title Panel 2</div>
            <div>
                Content Panel 2
            </div>
        </igc-expansion-panel>
    </igc-accordion>
    

    Panels 접근자를 사용하면 IgcAccordionComponent의 모든 확장 패널 하위 항목을 포함하는 컬렉션에 대한 참조를 얻을 수 있습니다.

    private accordion: IgcAccordionComponent;
    private panels: IgcExpansionPanelComponent[];
    
    constructor() {
    	this.accordion = document.getElementById("accordion") as IgcAccordionComponent;
    	this.panels = this.accordion.panels;
    }
    

    위에서 설명한 것처럼, singleExpand 속성을 사용하면 한 번에 단일 패널 또는 여러 패널을 확장할 수 있는지 여부를 설정할 수 있습니다.

    hideAllshowAll 메소드를 사용하면 IgcAccordionComponent의 모든 IgcExpansionPanelComponent를 프로그래밍 방식으로 각각 축소 및 확장할 수 있습니다.

    [!Note] If singleExpand property is set to true calling showAll method would expand only the focused panel.

    Web Components Accordion Customization Example

    Web Components 아코디언을 사용하면 헤더와 콘텐츠 패널의 모양을 사용자 정의할 수 있습니다.

    아래 샘플은 IgcExpansionPanelComponent의 내장 슬롯을 사용하여 정교한 필터링 옵션을 구현하는 방법을 보여줍니다.

    Nested Web Components Accordions Scenario

    다음 Web Components Accordion 예제에서는 이 일반적인 응용 프로그램 시나리오를 어떻게 진행할 수 있는지 설명하기 위해 복잡한 FAQ 섹션을 만듭니다. 샘플에서 중첩된 IgcAccordionComponent 확장 패널 내부에 아코디언을 추가하여 구현됩니다.

    Keyboard Navigation

    Web Components Accordion의 키보드 탐색은 최종 사용자에게 다양한 키보드 상호 작용을 제공합니다. 이 기능은 기본적으로 활성화되어 있으며 최종 사용자가 패널을 쉽게 탐색할 수 있도록 해줍니다.

    Accordion 탐색은 W3C 접근성 표준을 준수하며 사용이 편리합니다.

    주요 조합

    • - 포커스를 아래 패널로 이동합니다.
    • - 포커스를 위 패널로 이동합니다.
    • Alt + - 아코디언에서 초점이 맞춰진 패널 열기
    • Alt + - 아코디언에서 초점이 맞춰진 패널을 닫습니다.
    • Shift + Alt + - 활성화된 모든 패널 열기(singleExpand가 true로 설정된 경우 초점이 맞춰진 패널 열기)
    • Shift + Alt + - 활성화된 모든 패널을 닫습니다.
    • - 아코디언에서 활성화된 첫 번째 패널로 이동합니다.
    • - 아코디언에서 마지막으로 활성화된 패널로 이동합니다.

    API References

    Additional Resources