如何在 React material-ui 步进器中将 href 添加到按钮
How to add href to a button in react material-ui stepper
当用户单击步进器末尾的 "Book now" 按钮而不是显示 "Thank you for your interest" 时,我试图重定向到一个页面。这可以通过在最后一步向按钮添加 href="/booking" 来实现吗?或者还有其他方法可以通过添加一个函数来处理这个问题?提前致谢!
这是我所指的代码部分:
<React.Fragment>
{activeStep === steps.length ? (
<React.Fragment>
<Typography variant="h5" gutterBottom>
Thank you for your interest!
</Typography>
</React.Fragment>
) : (
<React.Fragment>
{this.getStepContent(activeStep)}
<div className={classes.buttons}>
{activeStep !== 0 && (
<Button onClick={this.handleBack} className={classes.button}>
Back
</Button>
)}
<Button
variant="contained"
color="primary"
onClick={this.handleNext}
className={classes.button}
>
{activeStep === steps.length - 1 ? 'Book Now' : 'Next'}
</Button>
</div>
</React.Fragment>
)}
</React.Fragment>
正如我在评论中提到的,我会根据官方文档代码给出一个解决方案:https://codesandbox.io/s/tnpyj?file=/demo.js
您可以创建如下所示的函数来跟踪 activeStep
。
const isLastStep = () => {
if (activeStep === steps.length) window.location.href = '\booking';
return false;
};
现在在您的模板中您可以调用此函数而不是手动检查最后一步,如下所示:
{isLastStep ? (
这是一个肮脏的解决方案,但按照上面 link 中所述正确执行可以使它看起来更干净。希望对你有帮助。
当用户单击步进器末尾的 "Book now" 按钮而不是显示 "Thank you for your interest" 时,我试图重定向到一个页面。这可以通过在最后一步向按钮添加 href="/booking" 来实现吗?或者还有其他方法可以通过添加一个函数来处理这个问题?提前致谢!
这是我所指的代码部分:
<React.Fragment>
{activeStep === steps.length ? (
<React.Fragment>
<Typography variant="h5" gutterBottom>
Thank you for your interest!
</Typography>
</React.Fragment>
) : (
<React.Fragment>
{this.getStepContent(activeStep)}
<div className={classes.buttons}>
{activeStep !== 0 && (
<Button onClick={this.handleBack} className={classes.button}>
Back
</Button>
)}
<Button
variant="contained"
color="primary"
onClick={this.handleNext}
className={classes.button}
>
{activeStep === steps.length - 1 ? 'Book Now' : 'Next'}
</Button>
</div>
</React.Fragment>
)}
</React.Fragment>
正如我在评论中提到的,我会根据官方文档代码给出一个解决方案:https://codesandbox.io/s/tnpyj?file=/demo.js
您可以创建如下所示的函数来跟踪 activeStep
。
const isLastStep = () => {
if (activeStep === steps.length) window.location.href = '\booking';
return false;
};
现在在您的模板中您可以调用此函数而不是手动检查最后一步,如下所示:
{isLastStep ? (
这是一个肮脏的解决方案,但按照上面 link 中所述正确执行可以使它看起来更干净。希望对你有帮助。