Decompose complex tasks or tasks with prior relationships, use step components to guide users to operate according to the prescribed process, and let them know their current progress
API doc
Design doc
Demos
How to import
import { Steps } from '@douyinfe/semi-ui';
const Step = Steps.Step;
Default step bar(Deprecated)
It is recommended to use the simple version of steps, which will be gradually deprecated later
import React from 'react';
import { Steps } from '@douyinfe/semi-ui';
() => (
<Steps current={1} onChange={(i)=>console.log(i)}>
<Steps.Step title="Finished" description="This is a description." />
<Steps.Step title="In Progress" description="This is a description." />
<Steps.Step title="Waiting" description="This is a description." />
</Steps>
);
Basic Steps(Recommended)
Set type="basic" to display a simple style step bar
import React from 'react';
import { Steps } from '@douyinfe/semi-ui';
() => (
<Steps type="basic" current={1} onChange={(i)=>console.log(i)}>
<Steps.Step title="Finished" description="This is a description" />
<Steps.Step title="In Progress" description="This is a description" />
<Steps.Step title="Waiting" description="This is a description" />
</Steps>
);
Nav Steps
You can use type="nav" to set the navigation style step bar. The navigation style step bar has the following characteristics:
The step bar does not support interaction.
It is suitable when the steps are not related to each other, the content does not affect each other, and the visual elements of the page need to be highlighted.
The width of the step bar is opened according to the content.
Steps.Step only supports title, className, and style attributes.
import React from 'react';
import { Steps } from '@douyinfe/semi-ui';
() => (
<div style={{ display: 'flex', justifyContent: 'center' }}>
<Steps type="nav" current={1} style={{ margin: 'auto' }} onChange={(i)=>console.log(i)}>
<Steps.Step title="Register an account" />
<Steps.Step title="There is a lot of text in this project" />
<Steps.Step title="Product Usage" />
<Steps.Step title="Looking forward to trying out features" />
</Steps>
</div>
);
Mini size step bar
Display the mini size step bar by setting size="small"
import React from 'react';
import { Steps } from '@douyinfe/semi-ui';
() => (
<Steps type="basic" size="small" current={1} onChange={(i)=>console.log(i)}>
<Steps.Step title="Finished" description="This is a description" />
<Steps.Step title="In Progress" description="This is a description" />
<Steps.Step title="Waiting" description="This is a description" />
</Steps>
);
import React from 'react';
import { Steps } from '@douyinfe/semi-ui';
() => (
<div style={{ display: 'flex', justifyContent: 'center' }}>
<Steps type="nav" size="small" current={1} style={{ margin: 'auto' }} onChange={(i)=>console.log(i)}>
<Steps.Step title="Register an account" />
<Steps.Step title="There is a lot of text in this project" />
<Steps.Step title="Product Usage" />
<Steps.Step title="Looking forward to trying out features" />
</Steps>
</div>
);
Processing progress
Use with content and buttons to represent the processing progress of a process
Since version 1.29.0, onChange is supported, which can be used to realize the processing progress. onChange receives a parameter of type number, which is equal to initial + current.
Specifies the current step, counting from 0. In the subStep element, the state can be overridden by the status attribute
number
0
direction
Specify step bar directions. Currently support level (vertical) and vertical (vertical) in both directions
string
with
hasLine
When the step bar type is basic, you can control whether to display the connecting line
boolean
true
1.18.0
initial
Start serial number, count from 0.
number
0
size
For simple step bar and navigation step bar, the size is optional, the value is small, default
string
default
1.18.0
status
Specify the status of the current step, optional wait,process,finish,error,warning
string
process
style
Style
CSSProperties
type
Steps type, optional fillbasic、nav
string
fill
1.18.0
onChange
onChange callback
(index: number)=>void
-
1.29.0
Steps.Step
Step in the step bar.
Parameters
Instructions
type
Default
Version
aria-label
Container aria-label
React.AriaAttributes["aria-label"]
description
Detailed description of steps, optional
ReactNode
-
icon
Type of step icon, optional
ReactNode
-
role
Container role
React.AriaRole
-
status
Specify the state. When this property is not configured, the currentof Steps is used to automatically specify the state. Optional: wait,process,finish,error,warning
string
wait
style
CSS Style
CSSProperties
title
Title
ReactNode
-
onClick
Callback of click
function
-
onKeyDown
Callback ok keyDown
function
-
Accessibility
ARIA
Steps and Step components support passing in the aria-label attribute to represent the description of Steps and Steps
Step component has an aria-currentstep attribute, indicating that this is a step in the step bar
Content Guidelines
Step title
title should be kept concise, avoiding truncation and line breaks
use sentence capitalization
do not include punctuation
Step description
supplementary contextual information for the title