【发布时间】:2018-10-30 18:28:28
【问题描述】:
实际问题:p-table 中未显示分页。
解决方案:我们必须一次存储所有数据,然后分页才会显示。为此我正在尝试这种方法
实际上,我正在将 p-Datatable 升级为 ngPrime 中的 p-table。在 p-datatable 中加载分页, 但是当我将 Datatable 升级到表格时,分页没有显示。
我看过了。如果我让 settimeout 分页显示,但我们不能使用 settimeout(因为我没有无进程和响应时间)。
所以我已经尝试过承诺,但我仍然无法做出每一个承诺。
我的情况是首先我使用响应做出一个响应我做出多个响应并存储数据 成数组。最后,我在 p-table 模板中使用了该数组。下面是我的代码
allArr = [];
allTemp = [];
ngOnInit():void{
this.getVal.then((x)=>{
this.allArr = x;
})
}
getVal = new Promise( (resolve,reject)=>{
let resource = "path/name";
this.log.getList(resource).subscribe(
rst=>{
for(var key in rst){
this.getInfo(key.name, key.value);
}
//here I don't know where I have to resolve the promise
//setTimeout(() => {
// resolve(this.serviceTemp);
//},2000);
})
}
getInfo(name, value): void{
this.log.getDetail(name)
.subscribe(
(log: any) => {
this.allTemp.push(log.detail);
});
}
我的模板代码
<p-table [columns]="tableHeader" [style]="{'width':'100%'}" [value]="allArr" selectionMode="single" [(selection)]="selectedService" [paginator]="true" [rows]="10" [rowsPerPageOptions]="[5,10,25]"
[responsive]="true" sortField="serviceName" sortOrder="1" sortMode="multiple">
【问题讨论】:
-
你能不能直接调用resolve(this.serviceTemp);在 for 循环之后?
-
没有。它不工作。我得到了解决方案。
标签: angular promise angular6 primeng