Javascript 调用API后,Priming paginator无法重置第1页
我有两个函数来加载数据:初始化页面和搜索页面。 初始化页面时,数据显示为5页。我点击第3页,分页显示的数据就可以了。然后,输入数据搜索。数据表已重新加载,但页码未重置为1,仍为第3页。 在html中:Javascript 调用API后,Priming paginator无法重置第1页,javascript,angular,primeng,Javascript,Angular,Primeng,我有两个函数来加载数据:初始化页面和搜索页面。 初始化页面时,数据显示为5页。我点击第3页,分页显示的数据就可以了。然后,输入数据搜索。数据表已重新加载,但页码未重置为1,仍为第3页。 在html中: 请告诉我如何在调用另一个API后重置分页器p-paginator组件包含changePageToFirst函数。要访问此函数,我们需要获取组件的ViewChild引用。例如,在我们的模板中,我们定义了组件: <p-paginator rows="10" totalRecords="100"
请告诉我如何在调用另一个API后重置分页器p-paginator组件包含
changePageToFirst
函数。要访问此函数,我们需要获取组件的ViewChild引用。例如,在我们的模板中,我们定义了组件:
<p-paginator rows="10" totalRecords="100" #p></p-paginator>
<button (click)="reset($event)">Reset</button>
@ViewChild('pp') paginator: Paginator;
this.paginator.changePage(0);
下面是一个演示:
编辑:上面的演示不再适用于plunkr。以下是更新版本:
另一个有用的方法是更改页面 在模板中:
<p-paginator #pp></p-paginator>
对于使用dataTable Priming组件并使用其惰性分页功能的用户, 我们可以使用将页面重置为“1”
this.tableTemplateName.first = 0;
其中设置
first=0
意味着首页您需要为组件分配一个引用#p
,并调用p.changePageToFirst()
:下面是一个示例:@Brian:谢谢您,Brian,这个演示很好。但在添加此代码时,我遇到了一个问题:[ts]属性'changePageToFirst'在类型'ElementRef'上不存在。请在定义ViewChild时尝试删除类型ElementRef(如果不起作用,请将any
指定为类型。@Brian:它在代码:@ViewChild('pg')上正常工作paginator:any;。但是在调用重置之后,它在控制台中显示一个错误:core.js:1350 error error:Uncaught(在promise中):TypeError:无法读取未定义TypeError的属性'preventDefault'。错误:无法读取未定义TypeError的属性'preventDefault'。请给我建议。非常感谢。您是如何找到这一点的?可以在此处找到该组件的源代码:这在PrimeNg v7.1中不可用。看起来该方法仍然存在于7.1中。但是,它不是文档d:同时(至少角度为8或更高)@ViewChild
需要第二个参数。因此,您可以使用@ViewChild('p',{static:false})paginator:paginator;
。如果paginator注册了onPageChange事件怎么办?它将进入递归。
<p-paginator #pp></p-paginator>
@ViewChild('pp') paginator: Paginator;
this.paginator.changePage(0);
this.tableTemplateName.first = 0;