Javascript ichard1583如果您能更改API,那将是非常好的…在您的帮助下,它(在我的计算机上使用我的API)工作得非常完美…我在这里发布了它的工作原理。我以前从未使用过API星球大战,下次创建沙盒时,我将尝试理解它以正确使用它。再次感谢您的帮助!如果这有帮助,
Javascript ichard1583如果您能更改API,那将是非常好的…在您的帮助下,它(在我的计算机上使用我的API)工作得非常完美…我在这里发布了它的工作原理。我以前从未使用过API星球大战,下次创建沙盒时,我将尝试理解它以正确使用它。再次感谢您的帮助!如果这有帮助,,javascript,reactjs,forms,select,axios,Javascript,Reactjs,Forms,Select,Axios,ichard1583如果您能更改API,那将是非常好的…在您的帮助下,它(在我的计算机上使用我的API)工作得非常完美…我在这里发布了它的工作原理。我以前从未使用过API星球大战,下次创建沙盒时,我将尝试理解它以正确使用它。再次感谢您的帮助!如果这有帮助,那么你应该将我的答案标记为已接受。。。是否投票是你的艰难选择。。。谢谢 export class WizardMainForm extends Component { state = { error: null, step
ichard1583如果您能更改API,那将是非常好的…在您的帮助下,它(在我的计算机上使用我的API)工作得非常完美…我在这里发布了它的工作原理。我以前从未使用过API星球大战,下次创建沙盒时,我将尝试理解它以正确使用它。再次感谢您的帮助!如果这有帮助,那么你应该将我的答案标记为已接受。。。是否投票是你的艰难选择。。。谢谢
export class WizardMainForm extends Component {
state = {
error: null,
step: 1,
choiceOne: "",
choiceTwo: "",
objectsListOptionsForStep2: []
};
componentDidMount() {
this.handleUserDetails();
}
handleUserDetails = () => {
some code here
};
// Proceed to the next step
nextStep = () => {
const { step } = this.state;
this.setState({
step: step + 1,
});
};
// Go back to previous step
prevStep = () => {
const { step } = this.state;
this.setState({
step: step - 1,
});
};
//Handle fields change
handleChange = (input) => (e) => {
this.setState({ [input]: e.target.value });
if (this.state.step == 1){
const valueSelectedAtStepOne = e.target.value
authAxios
.get(`myUrl/?q=${valueSelectedAtStepOne}`)
.then((res) => {
this.setState({
objectsListOptionsForStep2: res.data,
});
console.log(res.data);
})
.catch((err) => {
this.setState({
error: err.response.data.message,
});
});
}
};
render() {
const { step, choiceOne, objectsListOptionsForStep2 } = this.state;
const values = {choiceOne, choiceTwo};
switch (step) {
case 1:
return (
<FormChoiceOne
nextStep={this.nextStep}
values={values}
handleUserDetails={this.handleUserDetails}
handleChange={this.handleChange}
/>
);
case 2:
return (
<FormChoiceTwo
nextStep={this.nextStep}
prevStep={this.prevStep}
values={values}
handleUserDetails={this.handleUserDetails}
handleChange={this.handleChange}
/>
);
}
}
}
export default WizardMainForm;
export class FormChoiceOne extends Component {
continue = (e) => {
e.preventDefault();
this.props.nextStep();
};
render() {
return (
<div>
<Form>
<select
onChange={handleChange("choiceOne")}
defaultValue={values.choiceOne}
>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<Button onClick={this.continue}> Next step </Button>
</Form>
</div>
);
}
}
export default FormChoiceOne;
export class FormChoiceTwo extends Component {
continue = (e) => {
e.preventDefault();
this.props.nextStep();
};
back = (e) => {
e.preventDefault();
this.props.prevStep();
};
render() {
some code
return (
<div>
<Form>
<select>
{this.objectsListOptionsForStep2.map((u) => (
<option>{u.id}</option>
))}
</select>
<Button onClick={this.back}> Previous step </Button>
<Button onClick={this.continue}> Next step </Button>
</Form>
</div>
);
}
}
export default FormChoiceTwo;
{
(objectsListOptionsForStep2 === null || objectsListOptionsForStep2===undefined) ?
<option>Loading</option> :
this.objectsListOptionsForStep2.map((u) => (
<option>{u.id}</option>
))
}
<FormChoiceTwo
nextStep={this.nextStep}
prevStep={this.prevStep}
values={values}
handleUserDetails={this.handleUserDetails}
handleChange={this.handleChange}
objectsListOptionsForStep2={objectsListOptionsForStep2}
/>
<select>
{this.props.objectsListOptionsForStep2.map((u) => (
<option>{u.id}</option>
))}
</select>