如何防止Agular 2事件中的PaginationComponent工作?

时间:2019-05-30 14:17:04

标签: angular bootstrap-4 angular-bootstrap

我正在使用pagination的{​​{1}}组件。像这样:

ngx-bootstrap/pagination

我希望寻呼机在满足某些条件之前不导航到下一页,但是找不到实现该目标的方法。

我尝试了几件事:

  1. <pagination *ngIf="returnedArray" [totalItems]="contentArray.length" (pageChanged)="pageChanged($event)" [itemsPerPage]="1" [boundaryLinks]="false"></pagination> 组件中删除(pageChanged)="pageChanged($event)"。但是导航仍在触发。
  2. 试图制作类似pagination的东西,但是这里不存在

... :(

关于如何防止分页组件倾斜的任何想法? 谢谢!

2 个答案:

答案 0 :(得分:0)

pageChange是一个EventEmitter,因此当用户使用分页器更改页面时,您可以执行功能。因此它当时已经更改了页面。

查看GitHub上的分页组件的the source code,我看到有一个disabled输入选项。
也许您可以做类似的事情:

<pagination *ngIf="returnedArray"
    [totalItems]="contentArray.length"
    (pageChanged)="pageChanged($event)"
    [disabled]="methodWithYourConditions()"
    [itemsPerPage]="1"
    [boundaryLinks]="false"></pagination>

然后,您在此disabled属性中引用的函数可以检查多个条件。

答案 1 :(得分:0)

我发现解决此问题的唯一方法是隐藏分页器组件,然后使用按钮模拟条件满足时的分页单击,如下所示:

(<HTMLInputElement>document.querySelector('#next .pagination-next .page-link')).click();

棘手的...丑陋的...但是可行:)