Web Components 스테퍼 구성 요소는 마법사와 같은 워크플로를 제공하며 번호가 매겨진 단계를 통해 진행 상황을 표시하는 데 사용됩니다. 개발자는 긴 콘텐츠를 일련의 논리적 단계로 나누어 최종 사용자가 전체 프로세스를 더 쉽게 탐색할 수 있도록 돕습니다. Web Components 스테퍼는 수직 또는 수평 선으로 표시됩니다. Web Components 스테퍼에는 단계 검증, 스타일링, 방향 및 키보드 탐색과 같은 여러 기능이 있습니다.
Web Components Stepper 예제
아래의 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
이 샘플이 마음에 드시나요? 당사의 완전한 Ignite UI for Web Components 툴킷에 액세스하여 몇 분 만에 나만의 앱을 빌드하기 시작하세요. 무료로 다운로드하세요.
Web Components 스테퍼 시작하기
먼저 다음 명령을 실행하여 Ignite UI for Web Components 설치해야 합니다.
<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
Web Components Stepper의 방향
노출된 orientation 속성을 통해 스테퍼 방향을 사용자 정의할 수 있습니다. 수평 (기본값) 또는 수직으로 설정할 수 있습니다.
수평 스테퍼 방향
horizontal은 orientation 속성의 기본값입니다 IgcStepperComponent. Web Components 스테퍼가 가로 방향인 경우 단계의 내용이 단계 헤더의 위 또는 아래에 표시되는지 여부를 결정할 수 있습니다. 이것은 설정하여 달성할 수 있습니다. IgcStepperComponent contentTop 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 를 반환합니다. 그러나 사용자는 필요에 따라 완료 속성을 설정하여 이 기본 완료 동작을 재정의할 수 있습니다. 단계가 완료로 표시되면 기본적으로 단계 헤더의 스타일이 변경될 뿐만 아니라 완료된 단계와 다음 단계 사이의 진행 라인 스타일도 변경됩니다.
<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 접근성 표준을 준수하며 사용하기 편리합니다.