Skip to main content

syncfusion-react-stepper

Implement and configure the Syncfusion React Stepper component for guided workflows. Use this skill when creating step-by-step navigation flows, multi-step forms, wizards, or process guides in React. This skill covers step configuration, orientation (horizontal/vertical), events, validation, animations, templates, accessibility, and globalization support for linear or non-linear workflows.

来源信息

仓库
syncfusion/react-ui-components-skills
最近来源活动
2026年8月11日 05:19
检测到的 SKILL.md 语言
英语
星标
3
分支
9

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
10 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
syncfusion-react-stepper
description
Implement and configure the Syncfusion React Stepper component for guided workflows. Use this skill when creating step-by-step navigation flows, multi-step forms, wizards, or process guides in React. This skill covers step configuration, orientation (horizontal/vertical), events, validation, animations, templates, accessibility, and globalization support for linear or non-linear workflows.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
# Implementing Syncfusion React Stepper The Stepper component guides users through a multi-step workflow or process with visual indicators, step labels, and flexible configuration. It's ideal for wizards, checkout flows, onboarding processes, and any guided user experience requiring sequential navigation. ## When to Use This Skill Use the Stepper component when you need to: - Guide users through multi-step processes (checkout, registration, setup wizards) - Display step-by-step workflows with progress indication - Validate user input before advancing to the next step - Support linear or non-linear navigation patterns - Customize appearance with icons, labels, and templates - Localize content for different languages/regions ## Component Overview **Key Capabilities:** - **Step Navigation:** Horizontal and vertical orientations, sequential or free navigation - **Step Types:** Default (icons + labels), label-only, or indicator-only modes - **Events:** Track step changes, validations, and interactions - **Styling:** Animations, templates, custom CSS, and tooltips - **Accessibility:** Full keyboard navigation and ARIA support - **Globalization:** Multi-language support and RTL compatibility ## Documentation and Navigation Guide ### Getting Started & Installation 📄 **Read:** [references/getting-started.md](references/getting-started.md) - Package installation and dependencies - CSS imports and theme setup - Creating your first stepper - Initial configuration and rendering ### Core Configuration: Steps and Properties 📄 **Read:** [references/steps-and-configuration.md](references/steps-and-configuration.md) - Adding and defining steps with StepDirective - Icon CSS, text, and label properties - Active step management - Disabled states and customization - CSS class configuration ### Layout & Appearance: Orientations and Types 📄 **Read:** [references/orientations-and-types.md](references/orientations-and-types.md) - Horizontal and vertical orientations - Step type modes (Default, Label, Indicator) - Label positioning (Top, Bottom, Start, End) - RTL support and responsive design ### Interaction & Behavior: Events 📄 **Read:** [references/events-and-interactions.md](references/events-and-interactions.md) - Lifecycle events: created, stepChanged, stepChanging - User interaction events: stepClick, beforeStepRender - Event arguments and handling patterns - Preventing unwanted transitions ### Workflow Control: Linear Flow and Validation 📄 **Read:** [references/linear-flow-and-validation.md](references/linear-flow-and-validation.md) - Linear stepper configuration for sequential navigation - Step validation and status management - Preventing invalid transitions - Resetting stepper state ### Advanced Styling & Customization 📄 **Read:** [references/animation-template-tooltip.md](references/animation-template-tooltip.md) - Animation configuration and timing - Template customization for steps - Tooltip integration and display - Custom content rendering ### Methods and Advanced Patterns 📄 **Read:** [references/methods-and-advanced.md](references/methods-and-advanced.md) - Component methods (reset, etc.) - Both API patterns (component-based vs property-based) - Advanced use cases and patterns - Performance optimization tips ### Best Practices: Accessibility & Localization 📄 **Read:** [references/accessibility-globalization.md](references/accessibility-globalization.md) - WCAG compliance and ARIA attributes - Keyboard navigation guidelines - Globalization and localization - RTL support implementation ## Quick Start Examples ### Pattern 1: Component-Based (StepsDirective) ```jsx import React from 'react'; import { StepperComponent, StepsDirective, StepDirective } from '@syncfusion/ej2-react-navigations'; import '@syncfusion/ej2-base/styles/tailwind3.css'; import '@syncfusion/ej2-navigations/styles/tailwind3.css'; function App() { return ( <div> <StepperComponent> <StepsDirective> <StepDirective iconCss="sf-icon-cart" label="Cart" /> <StepDirective iconCss="sf-icon-transport" label="Delivery" /> <StepDirective iconCss="sf-icon-payment" label="Payment" /> <StepDirective iconCss="sf-icon-success" label="Confirmation" /> </StepsDirective> </StepperComponent> </div> ); } export default App; ``` ### Pattern 2: Property-Based (steps Array) ```jsx import React from 'react'; import { StepperComponent } from '@syncfusion/ej2-react-navigations'; import '@syncfusion/ej2-base/styles/tailwind3.css'; import '@syncfusion/ej2-navigations/styles/tailwind3.css'; function App() { const steps = [ { iconCss: 'sf-icon-cart', label: 'Cart' }, { iconCss: 'sf-icon-transport', label: 'Delivery' }, { iconCss: 'sf-icon-payment', label: 'Payment' }, { iconCss: 'sf-icon-success', label: 'Confirmation' } ]; return ( <div> <StepperComponent steps={steps} /> </div> ); } export default App; ``` ## Common Patterns ### Pattern 1: Wizard with Validation ```jsx const [activeStep, setActiveStep] = React.useState(0); const stepperRef = React.useRef(null); const handleStepChanging = (args) => { // Validate current step before advancing if (!validateStep(activeStep)) { args.cancel = true; // Prevent transition } }; <StepperComponent ref={stepperRef} stepChanging={handleStepChanging} > {/* steps */} </StepperComponent> ``` ### Pattern 2: Linear vs Non-Linear Navigation ```jsx // Linear: Users must complete steps sequentially <StepperComponent linear={true}> // Non-linear: Users can skip to any step <StepperComponent linear={false}> ``` ### Pattern 3: Responsive Orientation ```jsx // Auto-switch orientation based on screen size const [orientation, setOrientation] = React.useState('horizontal'); React.useEffect(() => { const handleResize = () => { setOrientation(window.innerWidth < 768 ? 'vertical' : 'horizontal'); }; window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); <StepperComponent orientation={orientation}> ``` ## Key Props and Configuration ### Component Properties | Prop | Type | Default | Purpose | |------|------|---------|---------| | `activeStep` | number | 0 | Currently active step index | | `animation` | StepperAnimationSettingsModel | undefined | Animation configuration (enable, duration, delay) | | `cssClass` | string | '' | CSS class for custom styling | | `enablePersistence` | boolean | false | Persist component state between page reloads | | `enableRtl` | boolean | false | Enable right-to-left layout | | `labelPosition` | string | 'Bottom' | Label placement: 'Top', 'Bottom', 'Start', 'End' | | `linear` | boolean | false | Enforce sequential step navigation | | `locale` | string | 'en-US' | Localization culture code | | `orientation` | string | 'horizontal' | Layout direction: 'horizontal' or 'vertical' | | `readOnly` | boolean | false | Disable user interaction | | `showTooltip` | boolean | true | Show tooltips on hover | | `stepType` | string | 'Default' | Visual mode: 'Default', 'Label', 'Indicator' | | `steps` | StepModel[] | [] | Array of step objects (property-based pattern) | | `template` | string \| function | undefined | Custom template for steps | | `tooltipTemplate` | string \| function | undefined | Custom template for tooltips | ### Step Properties (StepModel) | Property | Type | Purpose | |----------|------|---------| | `cssClass` | string | CSS class for individual step styling | | `disabled` | boolean | Disable the step | | `iconCss` | string | Icon CSS class for the step | | `isValid` | boolean | Validation status of the step | | `label` | string | Step label text | | `optional` | boolean | Mark step as optional | | `status` | string | Step status: 'NotStarted', 'InProgress', 'Completed' | | `text` | string | Text content (usually number) | ### Animation Settings | Property | Type | Default | Purpose | |----------|------|---------|---------| | `enable` | boolean | true | Enable animations | | `duration` | number | 400 | Animation duration in milliseconds | | `delay` | number | 0 | Delay before animation starts | ### Events | Event | Fires | Use For | Arguments | |-------|-------|---------|-----------| | `created` | After component initialization | Setup, initialization | Event | | `stepChanged` | After step changes | Update UI, load content | StepperChangedEventArgs | | `stepChanging` | Before step changes | Validate, prevent transitions | StepperChangingEventArgs | | `stepClick` | User clicks step | Track interactions | StepperClickEventArgs | | `beforeStepRender` | Before rendering each step | Customize step appearance | StepperRenderingEventArgs | ### Methods | Method | Parameters | Returns | Purpose | |--------|-----------|---------|---------| | `reset()` | none | void | Reset stepper to initial state (activeStep: 0) | | `nextStep()` | none | void | Move to next step programmatically | | `previousStep()` | none | void | Move to previous step programmatically | | `refreshProgressbar()` | none | void | Refresh progress bar on container resize | | `destroy()` | none | void | Destroy component and release resources | **Event Arguments Reference:** - **StepperChangedEventArgs:** activeStep, previousStep, isInteracted, name, event, element - **StepperChangingEventArgs:** activeStep, previousStep, cancel, isInteracted, name, event, element - **StepperClickEventArgs:** activeStep, name, event, element - **StepperRenderingEventArgs:** activeStep, name, element ## Common Use Cases - **E-Commerce Checkout:** Multi-step checkout flow with order review, shipping, payment - **User Registration:** Multi-step signup with email, profile, verification - **Setup Wizards:** Software onboarding with configuration steps - **Survey Forms:** Step-by-step questionnaire with progress indication - **Installation Guides:** Installation steps with instructions and validation
在 GitHub 查看