React Tree 개요

    Ignite UI for React, TreeView 구성 요소라고도 하는 이 구성 요소는 트리와 같은 UI 내에서 확장 가능한 데이터 구조를 시각화하는 고성능 컨트롤로, 자식 항목에 대한 수요에 따라 로드를 적용할 수 있습니다. Ignite UI for React 노드 확장 및 축소, 중첩된 앱 탐색, Ignite UI for React 노드와 같은 기능도 제공하며, 이 노드는 수동으로 또는 바인딩된 데이터 소스에서 생성할 수 있습니다.

    최종 사용자의 경우 이는 다양한 앱 페이지를 쉽게 탐색하고, 선택 항목, 확인란을 사용하고, 텍스트, 아이콘, 이미지 등을 추가할 수 있음을 의미합니다.

    Ignite UI for React 트리 컴포넌트는 사용자가 계층적 데이터를 트리 뷰 구조로 표현하며 부모-자식 관계를 유지하고, 대응하는 데이터 모델 없이 정적인 트리 뷰 구조를 정의할 수 있게 합니다. 주요 목적은 최종 사용자가 계층적 데이터 구조 내에서 시각화하고 탐색할 수 있도록 하는 것입니다. 이 컴포넌트는IgrTree 또한 주문 시 로드 기능, 아이템 활성화, 내장 체크박스, 내장 키보드 내비게이션 등을 통한 다중 및 연쇄 아이템 선택을 제공합니다.

    React Tree Example

    이 기본적인 Ignite UI for React 예제에서는 항목 계층 구조를 지정하여 트리와 항목을 정의하는 방법을 확인할 수 있습니다.

    How to Use Ignite UI for React Tree With Ignite UI

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

    npm install igniteui-react
    

    그 다음에는 다음과 같이 필요한 CSS를IgrTree 가져오면 됩니다:

    import { IgrTree, IgrTreeItem } from 'igniteui-react';
    import 'igniteui-webcomponents/themes/light/bootstrap.css';
    

    사용하기 가장 간단한 방법은IgrTree 다음과 같습니다:

    Declaring a tree

    IgrTreeItem는 에IgrTree 속하는 모든 항목의 표현입니다. 아이템은 아이템 상태를 필요에 맞게 구성할 수 있는 속성을 제공합니다disabledactiveselectedexpanded. 이 속성은value 해당 항목이 나타내는 데이터 입력에 대한 참조를 추가하는 데 사용할 수 있습니다.

    항목의 확장 및 선택 상태가 기본 데이터에도 반영되도록 항목을 데이터 모델에 바인딩할 수 있습니다.

    • 바인딩되지 않은 정적 항목을 생성하여 트리 선언

    트리를 렌더링하기 위해 반드시 데이터 세트가 필요한 것은 아닙니다 - 노출label 된 속성을 사용해 기본 데이터 모델 없이 개별 항목을 생성하거나 라벨에 맞춤IgrTreeItem 슬롯 콘텐츠를 제공할 수 있습니다.

    <IgrTree>
        <IgrTreeItem label='North America'>
            <IgrTreeItem label='United States' />
            <IgrTreeItem label='Canada' />
            <IgrTreeItem label='Mexico' />
        </IgrTreeItem>
        <IgrTreeItem label='South America'>
            <IgrTreeItem label='Brazil' />
            <IgrTreeItem label='Uruguay' />
        </IgrTreeItem>
        <IgrTreeItem label='Europe'>
            <IgrTreeItem label='United Kingdom' />
            <IgrTreeItem label='Germany' />
            <IgrTreeItem label='Bulgaria' />
        </IgrTreeItem>
    </IgrTree>
    

    [!Note] You can provide a custom slot content for each IgrTreeItem's indentation, expansion and label area respectively using the provided indentation, indicator and label slots.

    Item Interactions

    IgrTreeItem확장 또는 접이식이 가능하다:

    • 아이템 확장 표시기(기본 동작)를 클릭해 보세요.
    • 만약IgrTree toggleNodeOnClick 속성은 로 설정되어 있습니다true.

    기본적으로 여러 아이템을 동시에 확장할 수 있었습니다. 이 동작을 변경하고 한 번에 단일 분기만 확장할 수 있도록 하기 위해 이singleBranchExpand 속성을 활성화할 수 있습니다. 이렇게 하면 아이템이 확장될 때 같은 레벨 내에서 이미 확장된 다른 모든 가지가 모두 접히게 됩니다.

    React Tree Selection

    Ignite UI for React 트리 컴포넌트에서 아이템 선택을 설정하려면 속성selection만 설정하면 됩니다. 이 속성은 None, Multiful, Cascade의 세 가지 모드를 수용합니다. 아래에서 각 항목을 좀 더 자세히 살펴보겠습니다.

    None

    IgrTree기본적으로 아이템 선택이 비활성화되어 있습니다. 사용자는 UI 상호작용을 통해 항목을 선택하거나 해제할 수 없지만, 제공된 API 메서드를 통해 이러한 동작을 수행할 수 있습니다.

    Multiple

    여러 항목 선택을 가능하게 하기 위해IgrTree 그냥selection property를 다중. 이 경우 모든 항목에 체크박스가 표시됩니다. 각 아이템은 두 가지 상태를 가지는데, 선택된 상태와 그렇지 않은 상태입니다. 이 모드는 다중 선택을 지원합니다.

    <IgrTree selection="multiple" />
    

    Cascade

    캐스케이드 항목 선택IgrTree을 활성화하려면 선택 속성을 캐 스케이드로 설정하세요. 이 경우 모든 항목에 체크박스가 표시됩니다.

    <IgrTree selection="cascade" />
    

    이 모드에서 부모의 선택 상태는 전적으로 자식의 선택 상태에 따라 달라집니다. 부모에 선택된 자식과 선택 취소된 자식이 있는 경우 해당 확인란은 확정되지 않은 상태입니다.

    Keyboard Navigation

    키보드 내IgrTree 비게이션은 사용자에게 다양한 키보드 상호작용을 제공합니다. 이 기능은 기본적으로 활성화되어 있어 사용자가 아이템을 탐색할 수 있게 해줍니다.

    내비게이션은IgrTree W3C 접근성 기준을 준수하며 사용하기 편리합니다.

    주요 조합

    • - 표시되는 다음 항목으로 이동합니다. 항목을 활성으로 표시합니다. 마지막 항목인 경우 아무 작업도 수행하지 않습니다.
    • CTRL + - 다음으로 표시되는 항목으로 이동합니다. LAST 항목에 있으면 아무 작업도 수행하지 않습니다.
    • - 이전에 표시된 항목으로 이동합니다. 항목을 활성으로 표시합니다. 첫 번째 항목인 경우 아무 작업도 수행하지 않습니다.
    • CTRL + - 이전에 표시된 항목으로 이동합니다. 첫 번째 항목에서는 아무 작업도 수행하지 않습니다.
    • - 확장된 상위 항목에서는 해당 항목을 축소합니다. 항목이 축소되었거나 하위 항목이 없으면 상위 항목으로 이동합니다. 상위 항목이 없으면 아무 작업도 수행하지 않습니다.
    • - 확장된 상위 항목에서 항목의 첫 번째 하위 항목으로 이동합니다. 접힌 상위 항목에 있는 경우 확장합니다. 항목에 하위 항목이 없으면 아무 작업도 수행하지 않습니다.
    • HOME- 첫 번째 항목으로 이동합니다.
    • END- 마지막으로 표시되는 항목으로 이동합니다.
    • TAB- 트리 외부의 페이지에서 포커스 가능한 다음 요소로 이동합니다.
    • SHIFT + TAB- 트리 외부의 페이지에서 포커스 가능한 이전 요소로 이동합니다.
    • SPACE- 현재 항목의 선택을 전환합니다. 노드를 활성으로 표시합니다.
    • SHIFT + SPACE- 모든 항목의 선택을 활성 항목과 누른 항목 사이에 전환합니다. 선택이 활성화된 경우 누르고 있는 SHIFT 동안 스페이스.
    • ENTER- 포커스가 있는 항목을 활성화합니다. 항목에 링크가 있는 경우 링크를 엽니다.
    • *- 항목과 같은 수준의 모든 형제 항목을 확장합니다.

    선택이 활성화되면 최종 사용자의 항목 선택은 렌더링된 확인란을 통해서만 허용됩니다. 두 선택 유형 모두 다중 선택을 허용하므로 다음과 같은 마우스 및 키보드 상호 작용을 사용할 수 있습니다.

    • 클릭- 항목 확인란을 수행할 때 선택이 활성화된 경우 항목 선택을 전환합니다. 그렇지 않으면 항목에 초점을 맞춥니다.
    • SHIFT + Click- 항목 확인란에서 수행하면 모든 항목의 선택을 활성 항목과 누른 SHIFT 상태에서 클릭한 항목 사이에서 전환합니다.

    Styling

    아래에 나열된 노출된 CSS 부품 중 일부를 사용해 외IgrTreeItem 관을 변경할 수 있습니다:

    부품명 설명
    wrapper 나무 항목의 래퍼입니다.
    selected 선택된 상태를 나타냅니다. 적용대상wrapper.
    focused 집중된 상태를 나타냅니다. 적용대상wrapper.
    active 활성 상태를 나타냅니다. 적용대상wrapper.
    indicator 트리 항목의 확장 표시기입니다.
    label 트리 항목 콘텐츠입니다.
    text 트리 항목에 텍스트가 표시되었습니다.
    select 선택이 활성화된 경우 트리 항목의 확인란입니다.

    이 CSS 부품들을 사용하면 컴포넌트의IgrTree 외관을 다음과 같이 커스터마이즈할 수 있습니다:

    igc-tree-item::part(active) {
      background: var(--ig-secondary-500);
      color: var(--ig-secondary-500-contrast);
    }
    

    API References

    Additional Resources