<script> import Steps, { Step } from '../index'; import '../assets/index.less'; import '../assets/iconfont.less'; function generateRandomSteps() { const n = Math.floor(Math.random() * 3) + 3; const arr = []; for (let i = 0; i < n; i++) { arr.push({ title: `步骤${i + 1}`, }); } return arr; } const steps = generateRandomSteps(); export default { data() { return { currentStep: Math.floor(Math.random() * steps.length), }; }, methods: { nextStep() { let s = this.currentStep + 1; if (s === steps.length) { s = 0; } this.currentStep = s; }, }, render() { const cs = this.currentStep; return ( <form class="my-step-form"> <div>这个demo随机生成3~6个步骤,初始随机进行到其中一个步骤</div> <div>当前正在执行第{cs + 1}步</div> <div class="my-step-container"> <Steps current={cs}> {steps.map((s, i) => { return <Step key={i} title={s.title} />; })} </Steps> </div> <div> <button type="button" onClick={this.nextStep}> 下一步 </button> </div> </form> ); }, }; </script> <style> .my-step-form { width: 100%; } .my-step-form > div { margin-bottom: 20px; } .my-step-container { width: 100%; } </style>