Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用API后,Priming paginator无法重置第1页_Javascript_Angular_Primeng - Fatal编程技术网

Javascript 调用API后,Priming paginator无法重置第1页

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"

我有两个函数来加载数据:初始化页面和搜索页面。 初始化页面时,数据显示为5页。我点击第3页,分页显示的数据就可以了。然后,输入数据搜索。数据表已重新加载,但页码未重置为1,仍为第3页。 在html中:


请告诉我如何在调用另一个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;