我有两个功能,如下所示,用于网页中的多步配置。
protected clickNext(event:any, config:any) : any{
this.activeIndex++;
}
protected clickPrev(event:any, config:any) : any{
this.activeIndex--;
}
按钮:
<div class="form-group text-center">
<!-- <a class="btn" style="color: white" [disabled]="disabled"> Previous </a> -->
<button type="submit" class="btn" style="color: white" [disabled]="prevBtn_disabled" (click)="clickPrev($event, _finalConfig)">Prev</button>
<button type="submit" class="btn" style="color: white" [disabled]="nextBtn_disabled" (click)="clickNext($event, _finalConfig)">Next</button>
</div>
当我点击下一个按钮clickNext
时会触发,当我点击上一个按钮clickPrev
时会触发。 activeIndex是一个传递到html的变量,用于确定要激活的步骤。这就是整个想法。正如您所看到的那样,config
是一个数组。我需要实现的是,一旦我到达数组中的最后一步或最后一个对象,我不需要为第一个对象执行++相同,然后单击prev。不应该做 - 。对不起,我实际上是Javascript的新手。我怎样才能实现它?在此先感谢你们
答案 0 :(得分:1)
您可以测试this.activeIndex
是否已经等于config
数组中第一个或最后一个项的索引:
protected clickNext(event:any, config:any) : any{
if (this.activeIndex < config.length - 1) {
this.activeIndex++;
}
}
protected clickPrev(event:any, config:any) : any{
if (this.activeIndex > 0) {
this.activeIndex--;
}
}
如果已经在最后一步或第一步,也可以禁用 Next 或 Prev 按钮,以便用户有一些迹象表明他们在一个结束或其他。 (但我无法告诉你如何做到这一点,因为你没有显示你的按钮。)