Web Components 스테퍼 구성 요소는 마법사와 같은 워크플로를 제공하며 번호가 매겨진 단계를 통해 진행 상황을 표시하는 데 사용됩니다. 개발자는 긴 콘텐츠를 일련의 논리적 단계로 나누어 최종 사용자가 전체 프로세스를 더 쉽게 탐색할 수 있도록 돕습니다. Web Components 스테퍼는 수직 또는 수평 선으로 표시됩니다. Web Components 스테퍼에는 단계 검증, 스타일링, 방향 및 키보드 탐색과 같은 여러 기능이 있습니다.
Web Components Stepper Example
아래의 Ignite UI for Web Components 스테퍼 예제는 작동 중인 구성 요소를 보여줍니다. 최종 사용자가 몇 가지 연속 단계에 따라 주문 세부 정보를 구성하기 위해 거쳐야 하는 프로세스를 시각화합니다.
<html><head><title>Stepper Linear Example</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" /><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample"><igc-switch>Linear</igc-switch><br /><igc-stepperid="stepper"><igc-stepinvalid><spanslot="title">Personal Info</span><form><igc-inputrequiredlabel="Full Name"type="text"name="fullName"></igc-input><igc-inputrequiredlabel="Email"type="email"name="email"></igc-input><br /><igc-buttonclass="next"onclick="stepper.next()">NEXT</igc-button></form></igc-step><igc-stepinvalid><spanslot="title">Delivery address</span><form><igc-inputrequiredlabel="City"type="text"name="city"></igc-input><igc-inputrequiredlabel="Street"type="text"name="street"></igc-input><br /><igc-buttononclick="stepper.prev()">PREVIOUS</igc-button><igc-buttonclass="next"onclick="stepper.next()">NEXT</igc-button></form></igc-step><igc-stepoptional><spanslot="title">Billing address</span><spanslot="subtitle">(optional)</span><form><igc-inputlabel="City"type="text"name="bill-city"></igc-input><igc-inputlabel="Street"type="text"name="bill-city"></igc-input><br /><igc-buttononclick="stepper.prev()">PREVIOUS</igc-button><igc-buttononclick="stepper.next()">NEXT</igc-button></form></igc-step><igc-stepinvalid><spanslot="title">Payment</span><form><igc-radio-group><igc-radioname="payment"required>PayPal (n@mail.com; 18/02/2021)</igc-radio><igc-radioname="payment"required>Visa (**** **** **** 1234; 12/23)</igc-radio><igc-radioname="payment"required>MasterCard (**** **** **** 5678; 12/24)</igc-radio></igc-radio-group><br /><igc-buttononclick="stepper.prev()">PREVIOUS</igc-button><igc-buttonclass="next"onclick="stepper.next()">SUBMIT</igc-button></form></igc-step><igc-step><spanslot="title">Delivery status</span><p>Your order is on its way. Expect delivery on 25th September 2021. Delivery address: San Jose, CA 94243.</p><br /><igc-buttononclick="stepper.prev()">PREVIOUS</igc-button><igc-buttononclick="stepper.reset()">RESET</igc-button></igc-step></igc-stepper></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %>
<scriptsrc="src/index.ts"></script>
<% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
igc-switch {
margin-left: 0.5rem;
}css
Like this sample? Get access to our complete Ignite UI for Web Components toolkit and start building your own apps in minutes. Download it for free.
Getting Started with Web Components Stepper
먼저 다음 명령을 실행하여 Ignite UI for Web Components 설치해야 합니다.
The Default IgcStepComponent slot renders the content of the step.
<igc-stepper><igc-step><igc-iconslot="indicator"iconName="home"></igc-icon><pslot="title">Home</p><pslot="subtitle">Home Sub Title</p><div>
Step Content
</div></igc-step></igc-stepper>html
Orientation in Web Components Stepper
노출된 orientation 속성을 통해 스테퍼 방향을 사용자 정의할 수 있습니다. 수평(기본값) 또는 수직으로 설정할 수 있습니다.
수평 스테퍼 방향
horizontal은 orientation 속성의 기본값입니다 IgcStepperComponent. Web Components 스테퍼가 가로 방향인 경우 단계의 내용이 단계 헤더의 위 또는 아래에 표시되는지 여부를 결정할 수 있습니다. 이것은 설정하여 달성할 수 있습니다. IgcStepperComponentcontentTop boolean 속성으로, 기본값은 false 입니다. 활성화된 경우 단계의 내용이 단계의 헤더 위에 표시됩니다.
수직 스테퍼 방향
가로 레이아웃에서 세로 레이아웃으로 쉽게 전환할 수 있습니다. 기본 방향을 변경하려면 orientation 속성을 수직으로 설정해야 합니다.
<html><head><title>Stepper Title Position And Orientation Example</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" /><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample"><divclass="radio-groups"><divclass="radio-group"><label>Title position</label><divclass="radio-group-container"><igc-radio-groupid="titlePosition"alignment="horizontal"><igc-radioname="position"value="top">Top</igc-radio><igc-radioname="position"value="bottom">Bottom</igc-radio><igc-radioname="position"value="start">Start</igc-radio><igc-radioname="position"value="end">End</igc-radio><igc-radioname="position"value=""checked>Default</igc-radio></igc-radio-group></div></div><divclass="radio-group"><label>Orientation</label><divclass="radio-group-container"><igc-radio-groupid="orientation"alignment="horizontal"><igc-radioname="orientation"value="horizontal"checked>Horizontal</igc-radio><igc-radioname="orientation"value="vertical">Vertical</igc-radio></igc-radio-group></div></div></div><igc-stepperid="stepper"><igc-step><spanslot="title">Order</span></br><igc-buttononclick="stepper.next()">NEXT</igc-button></igc-step><igc-step><spanslot="title">Payment</span></br><igc-buttononclick="stepper.prev()">PREVIOUS</igc-button><igc-buttononclick="stepper.next()">NEXT</igc-button></igc-step><igc-step><spanslot="title">Confirmation</span></br><igc-buttononclick="stepper.prev()">PREVIOUS</igc-button><igc-buttononclick="stepper.reset()">RESET</igc-button></igc-step></igc-stepper></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %>
<scriptsrc="src/index.ts"></script>
<% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
IgcStepperComponent Web Components는 5단계 상태를 지원하며 각 단계는 기본적으로 다른 스타일을 적용합니다.
active- 단계가 현재 표시되는지 여부를 결정합니다. 설계상, 사용자가 일부 단계의 활성 속성을 명시적으로 true로 설정하지 않은 경우 초기 활성 단계는 비활성화되지 않은 첫 번째 단계가 됩니다.
비활성화됨- 단계가 다루기 어려운지 여부를 결정합니다. 기본적으로 단계의 비활성화된 속성은 false로 설정됩니다.
유효하지 않음- 단계가 유효한지 여부를 결정합니다. 해당 값에 따라 사용자가 선형 스테퍼 모드에서 앞으로 이동할 수 있는지 여부가 결정됩니다. 기본값은 false 입니다.
선택사항- 기본적으로 단계의 선택사항 속성은 false로 설정됩니다. 선형 스테퍼에서 단계의 유효성이 필요하지 않은 경우 단계 유효성과 독립적으로 앞으로 나아갈 수 있도록 선택적 속성을 활성화할 수 있습니다.
완료- 기본적으로 단계의 완료 속성은 false 를 반환합니다. 그러나 사용자는 필요에 따라 완료 속성을 설정하여 이 기본 완료 동작을 재정의할 수 있습니다. 단계가 완료로 표시되면 기본적으로 단계 헤더의 스타일이 변경될 뿐만 아니라 완료된 단계와 다음 단계 사이의 진행 라인 스타일도 변경됩니다.
The reset method would reset the stepper to its initial state, i.e. activates the first step. It would not clear the step`s content. This should be done manually.
Customizing the Steps
Ignite UI for Web Components Stepper를 사용하면 제목, 표시기 등에 대한 다양한 옵션을 구성할 수 있습니다.
This container could be re-templated as per your requirement without any size restrictions. For example, you could add an indicator with size greater than 24 pixels inside it.
<html><head><title>Stepper Step Type Example</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" /><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample"><label>Step type</label><divclass="radio-group-container"><igc-radio-groupid="titlePosition"alignment="horizontal"><igc-radioname="position"value="indicator">Indicator</igc-radio><igc-radioname="position"value="title">Title</igc-radio><igc-radioname="position"value="full"checked>Full</igc-radio></igc-radio-group></div><igc-stepperid="stepper"><igc-step><spanslot="title">Pricing Plan</span></igc-step><igc-step><spanslot="title">Car Details</span></igc-step><igc-step><spanslot="title">Payment</span></igc-step></igc-stepper></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %>
<scriptsrc="src/index.ts"></script>
<% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
<html><head><title>Stepper Animations Example</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" /><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><section><divid="root"><sectionclass="container sample"><articleclass="settings"><igc-selectid="orientation"label="Orienation"><igc-select-itemvalue="horizontal"selected>Horizontal</igc-select-item><igc-select-itemvalue="vertical">Vertical</igc-select-item></igc-select><igc-selectid="vanimation"label="Vertical Animation"><igc-select-itemvalue="grow"selected>Grow</igc-select-item><igc-select-itemvalue="fade">Fade</igc-select-item><igc-select-itemvalue="none">None</igc-select-item></igc-select><igc-selectid="hanimation"label="Horizontal Animation"><igc-select-itemvalue="slide"selected>Slide</igc-select-item><igc-select-itemvalue="fade">Fade</igc-select-item><igc-select-itemvalue="none">None</igc-select-item></igc-select><igc-inputid="duration"type="number"value="320"label="Duration"><spanslot="suffix">ms</span></igc-input></article><igc-stepperid="stepper"><igc-step><spanslot="title">Personal Info</span><form><igc-inputlabel="Full Name"type="text"name="fullName"></igc-input><igc-inputlabel="Email"type="email"name="email"></igc-input><br /><igc-buttonclass="next"onclick="stepper.next()">NEXT</igc-button></form></igc-step><igc-step><spanslot="title">Delivery address</span><form><igc-inputlabel="City"type="text"name="city"></igc-input><igc-inputlabel="Street"type="text"name="street"></igc-input><br /><igc-buttononclick="stepper.prev()">PREVIOUS</igc-button><igc-buttonclass="next"onclick="stepper.next()">NEXT</igc-button></form></igc-step><igc-step><spanslot="title">Payment</span><form><igc-radio-group><igc-radioname="payment"checked>PayPal (n@mail.com; 18/02/2021)</igc-radio><igc-radioname="payment">Visa (**** **** **** 1234; 12/23)</igc-radio><igc-radioname="payment">MasterCard (**** **** **** 5678; 12/24)</igc-radio></igc-radio-group><br /><igc-buttononclick="stepper.prev()">PREVIOUS</igc-button><igc-buttonclass="next"onclick="stepper.next()">SUBMIT</igc-button></form></igc-step><igc-step><spanslot="title">Delivery status</span><p>Your order is on its way. Expect delivery on 25th September 2021. Delivery address: San Jose, CA 94243.</p><br /><igc-buttononclick="stepper.prev()">PREVIOUS</igc-button><igc-buttononclick="stepper.reset()">RESET</igc-button></igc-step></igc-stepper></div></section><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %>
<scriptsrc="src/index.ts"></script>
<% } %>
</body></html>html
Ignite UI for Web Components Stepper는 최종 사용자에게 다양한 키보드 상호 작용을 제공합니다. 이 기능은 기본적으로 활성화되어 있으며 최종 사용자가 단계를 쉽게 탐색할 수 있도록 합니다. Web Components IgcStepperComponent 탐색은 W3 접근성 표준을 준수하며 사용하기 편리합니다.