在Reactjs中创建多步骤表单可以通过以下步骤实现:
以下是一个示例代码:
import React, { useState } from 'react';
const Step1 = ({ data, setData, nextStep }) => {
const handleChange = (e) => {
setData({ ...data, step1Data: e.target.value });
};
return (
<div>
<h2>Step 1</h2>
<input type="text" value={data.step1Data} onChange={handleChange} />
<button onClick={nextStep}>Next</button>
</div>
);
};
const Step2 = ({ data, setData, nextStep, prevStep }) => {
const handleChange = (e) => {
setData({ ...data, step2Data: e.target.value });
};
return (
<div>
<h2>Step 2</h2>
<input type="text" value={data.step2Data} onChange={handleChange} />
<button onClick={prevStep}>Previous</button>
<button onClick={nextStep}>Next</button>
</div>
);
};
const Step3 = ({ data, prevStep }) => {
return (
<div>
<h2>Step 3</h2>
<p>Step 1 Data: {data.step1Data}</p>
<p>Step 2 Data: {data.step2Data}</p>
<button onClick={prevStep}>Previous</button>
<button>Submit</button>
</div>
);
};
const MultiStepForm = () => {
const [step, setStep] = useState(1);
const [data, setData] = useState({
step1Data: '',
step2Data: '',
});
const nextStep = () => {
setStep(step + 1);
};
const prevStep = () => {
setStep(step - 1);
};
switch (step) {
case 1:
return <Step1 data={data} setData={setData} nextStep={nextStep} />;
case 2:
return (
<Step2 data={data} setData={setData} nextStep={nextStep} prevStep={prevStep} />
);
case 3:
return <Step3 data={data} prevStep={prevStep} />;
default:
return null;
}
};
export default MultiStepForm;
这个示例代码演示了如何在Reactjs中创建一个简单的多步骤表单。每个步骤都有自己的子组件,通过状态管理和事件处理函数来更新表单数据和切换步骤。你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云