diff --git a/packages/material-ui/src/Stepper/Stepper.js b/packages/material-ui/src/Stepper/Stepper.js index eb3eb98f17cd4c..bf3260f9477844 100644 --- a/packages/material-ui/src/Stepper/Stepper.js +++ b/packages/material-ui/src/Stepper/Stepper.js @@ -84,7 +84,7 @@ function Stepper(props) { key: index, // eslint-disable-line react/no-array-index-key ...state, }), - React.cloneElement(step, { ...controlProps, ...step.props, ...state }), + React.cloneElement(step, { ...controlProps, ...state, ...step.props }), ]; }); diff --git a/packages/material-ui/src/Stepper/Stepper.test.js b/packages/material-ui/src/Stepper/Stepper.test.js index 708ad6bade8684..8f967c9e0cd70b 100644 --- a/packages/material-ui/src/Stepper/Stepper.test.js +++ b/packages/material-ui/src/Stepper/Stepper.test.js @@ -199,4 +199,17 @@ describe('', () => { ); assert.strictEqual(wrapper.find(Step).length, 1); }); + + it('should be able to force a state', () => { + const wrapper = shallow( + + + + + , + ); + assert.strictEqual(wrapper.find('.child-0').props().active, true); + assert.strictEqual(wrapper.find('.child-1').props().active, true); + assert.strictEqual(wrapper.find('.child-2').props().active, false); + }); });