【发布时间】:2021-04-25 12:44:29
【问题描述】:
我的主页中有一个表单,即 InstantQoute。因此,当用户继续使用表单时,我想在新页面中显示表单的其余部分。所以这是我的父表单:
import React, { Component } from "react";
import Checkout from "../screens/Checkout";
import InstantQuote from "./InstantQuote";
export class UserForm extends Component {
state = {
step: 1,
zipFrom: "",
zipTo: "",
vehicleYear: "",
vehicleMake: "",
vehicleModel: "",
};
// Proceed to next step
nextStep = () => {
const { step } = this.state;
this.setState({
step: step + 1,
});
};
// Go back to prev step
prevStep = () => {
const { step } = this.state;
this.setState({
step: step - 1,
});
};
// Handle fields change
handleChange = (input) => (e) => {
this.setState({ [input]: e.target.value });
};
render() {
const { step } = this.state;
const {
zipFrom,
zipTo,
vehicleYear,
vehicleMake,
vehicleModel,
} = this.state;
const values = {
zipFrom,
zipTo,
vehicleYear,
vehicleMake,
vehicleModel,
};
switch (step) {
case 1:
return (
<InstantQuote
nextStep={this.nextStep}
handleChange={this.handleChange}
values={values}
/>
);
case 2:
return <Checkout />;
default:
return "Unknown step";
}
}
}
export default UserForm;
所以就像我说的,InstantForm 是首页上的一个表格。实际上是一个新的屏幕。像这样它实际上显示了标题内的整个屏幕。那么您能否给我一个建议,我该如何处理输入值并同时重定向到另一个页面?
谢谢!
【问题讨论】:
标签: reactjs forms redirect router multi-step