Steps

여러 단계로 이루어진 작업의 현재 위치와 진행 상태를 보여줍니다.

Live preview
컴포넌트를 조작하면 여기에 결과가 표시됩니다.
코드 보기
HTML
<sy-steps
  current="1"
  start-index="0"
  type="horizontal"
  size="medium"
  clickable
  id="sample"
>
  <sy-step description="기본 정보를 입력합니다.">정보 입력</sy-step>
  <sy-step description="입력 내용을 확인합니다.">검토</sy-step>
  <sy-step description="작업이 완료됩니다.">완료</sy-step>
</sy-steps>

<script type="module">
  await (root => {
    const steps = root.querySelector('sy-steps');
    steps.addEventListener('selected', event => {
      steps.current = event.detail.index;
    });
  })(document);
</script>

사용 가이드

#

신청·설정처럼 순서가 있는 작업 흐름을 보여줍니다. 독립된 화면 전환에는 Tabs를 사용하세요.

  1. 단계와 현재 위치 설정

    current는 기본적으로 0부터 시작하는 인덱스입니다.

  2. 시작 번호와 완료 상태 지정

    startIndex를 1로 바꾸면 단계 번호와 current의 기준도 1부터 시작합니다. 전체 과정이 끝나면 complete를 적용하세요.

  3. 이동 요청 처리

    clickable을 켜고 selected.detail.index를 받습니다. 현재 단계의 검사를 통과한 뒤 current를 변경하세요.

기능별 예제

#

22개 주제에서 필요한 기능을 선택하세요. 속성 설정, 메서드 호출, 이벤트 결과와 슬롯 구성을 실행 화면과 코드로 확인할 수 있습니다.

사용 예제 · Item Overview

선택한 예제를 직접 조작해 보세요. 여러 구성이 있는 주제는 세부 예제를 바꿀 수 있습니다.

코드 보기
HTML
예제를 불러오고 있습니다.

사용 예제 · Overview

선택한 예제를 직접 조작해 보세요. 여러 구성이 있는 주제는 세부 예제를 바꿀 수 있습니다.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Clickable

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Complete

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Current

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Clickable

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Current Status

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Current

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Description

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Disabled

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Index

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Last Step

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Loading

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Parent Status

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Size

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Small

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Status

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Item Attributes / Type

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Size

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Start Index

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

속성 · Type

설정에 따라 표시와 동작이 어떻게 달라지는지 확인하세요.

코드 보기
HTML
예제를 불러오고 있습니다.

사용 예제 · 1부터 시작하는 단계

표시 번호를 1부터 시작하고 두 번째 단계를 현재 단계로 표시합니다.

코드 보기
HTML
<sy-steps
  current="2"
  start-index="1"
  type="horizontal"
  size="medium"
  clickable
  id="sample"
>
  <sy-step description="기본 정보를 입력합니다.">정보 입력</sy-step>
  <sy-step description="입력 내용을 확인합니다.">검토</sy-step>
  <sy-step description="작업이 완료됩니다.">완료</sy-step>
</sy-steps>

<script type="module">
  const component1 = document.querySelector("#sample");
  Object.assign(component1, {
    "startIndex": 1,
    "current": 2
  });
  await (root => {
    const steps = root.querySelector('sy-steps');
    steps.addEventListener('selected', event => {
      steps.current = event.detail.index;
    });
  })(document);
</script>

API reference

#

이름에 마우스를 올리거나 키보드로 선택하면 적용 코드를 확인할 수 있습니다. 터치 화면에서는 이름을 누르세요.

<sy-steps>

Properties

Attribute / PropertyTypeDefaultDescription
number0현재 단계의 인덱스입니다.
booleanfalse사용자 선택을 허용하고 selected 이벤트를 전달합니다.
booleanfalse모든 단계를 완료 상태로 표시합니다.
"horizontal" | "vertical""horizontal"단계를 가로(horizontal) 또는 세로(vertical)로 배치합니다.
"small" | "medium""medium"컴포넌트의 크기입니다.
number0단계 번호의 시작값입니다.

Slots

SlotDescription
컴포넌트의 본문 또는 자식 항목입니다.

<sy-step>

Properties

Attribute / PropertyTypeDefaultDescription
string""단계 제목 아래에 표시할 설명입니다.
booleanfalse사용자 조작과 키보드 포커스를 차단합니다.
booleanfalse처리 중임을 표시합니다.
"finish" | "current" | "wait" | "error" | "none""none"none은 현재 인덱스에서 계산합니다. finish·current·wait·error로 개별 상태를 지정할 수 있습니다.
booleanfalse이전 버전 호환 속성입니다. 크기를 바꾸려면 size="small"을 사용하세요.
booleanfalse사용자 선택을 허용하고 selected 이벤트를 전달합니다.
number0부모가 계산한 항목 인덱스입니다.
number0현재 단계의 인덱스입니다.
"small" | "medium""medium"컴포넌트의 크기입니다.
"finish" | "current" | "wait" | "error" | "none""none"부모 Steps가 전달하는 완료 상태입니다.
"finish" | "current" | "wait" | "error" | "none""none"현재 표시하는 단계 상태입니다. status와 current에서 계산됩니다.
"horizontal" | "vertical""horizontal"가로 또는 세로 배치입니다. 부모 Steps가 전달합니다.
booleanfalse마지막 단계의 연결선을 숨깁니다. 부모가 설정합니다.

Events

EventDetailDescription
CustomEvent<{ index: number; step: HTMLSyStepElement }>Requested step. Assign its index to the parent current after app validation.

Slots

SlotDescription
컴포넌트의 본문 또는 자식 항목입니다.