根据您的需求,您想要实现一个分步操作的按钮,在非最后一步时显示”下一步”,在最后一步时显示”完成”,但要求完成时不展示按钮。以下是修正后的代码建议:
<a-button
class="margin-right-10 button-light-blue"
v-show="!isDetail && currentStep < 2"
@click="handleNext">
{{ currentStep === 1 ? '下一步' : '' }}
</a-button>
对应的JavaScript逻辑:
const handleNext = () => {
if(currentStep < 1) { // 假设共2步(0和1),当前不是最后一步
currentStep++;
} else if(currentStep === 1) { // 最后一步(第2步)
approvalApply({
id: TableId.value,
identification: 'agree'
}).then((response) => {
if(response.success) {
message.success(response.message);
closeModal();
setTimeout(() => {
queryTab();
}, 200);
} else {
message.error(response.message);
}
});
}
}
关键修改点:
v-show
条件改为!isDetail && currentStep < 2
,确保只有在非详情模式且不是最后一步时才显示按钮currentStep
判断逻辑调整为从0开始计数的常见模式(0=第一步,1=第二步)- “完成”操作不再通过按钮触发,而是在点击”下一步”后自动处理最后一步逻辑
这样实现后:
- 前几步会显示”下一步”按钮
- 到达最后一步时将自动提交而不显示任何按钮
- 保持了原有的业务逻辑流程
内容由零声教学AI助手提供,问题来源于学员提问