javascript - 如何将响应中的页码设置为数字,而不是 PaginationJS 中的数组
问题描述
我使用 分页js
如何使 paginationjs 使用页面数量,而不是数组?
从服务器我收到下一个数据:
content: (2) [{…}, {…}]
number: 2
numberOfElements: 2
size: 2
sort: {unsorted: false, sorted: true, empty: false}
totalElements: 38
totalPages: 19
我的分页配置:
$('#abc').pagination({
pageSize: 10,
pageNumber: 2,
dataSource: 'http://localhost:9090/admin/api/modelType/page?pageNumber=2&pageSize=2',
locator: 'totalPages',
totalNumberLocator: (data) => data.totalPages,
}
我无法将数据从数字更改为响应正文中的数组。有没有其他方法可以在不提供硬编码值或数组的情况下使其工作?
此外,我试图找到页面数量,
locator: 'totalPages'
但原因是它说 totalPages 不是数组。
谢谢
这是查询:
解析后的接收对象:
错误“定位器不是数组”:
编辑
如果我删除定位器我得到另一个错误说Pagination: "locator" is incorrect.
解决方案
您从服务器收到如下响应:
{
content: [{…}, {…}]
number: 2
numberOfElements: 2
size: 2
sort: {unsorted: false, sorted: true, empty: false}
totalElements: 38
totalPages: 19
}
... 正确的?
然后你想将'totalElements'传递给分页配置,对吧?!?...如果那是您喜欢的,那么我认为根据文档(请参阅“异步和动态总数”)可以解决如下:
$('#abc').pagination({
pageSize: 10,
dataSource: '/admin/api/modelType/page?pageNumber=2&pageSize=2',
//how can i set totalNumber from a responce data, not a hardcoded value?
totalNumberLocator: function(response) {
return response.totalElements;
},
}
编辑
好的,您需要在totalNumberLocator中传递 totalElements 的数量而不是 totalPages 的数量。并删除定位器:'totalPages'。请参阅上面的代码,我已经纠正了这一点。
推荐阅读
- node.js - 如何在生产环境中调试 Node 后端?
- javafx - 为什么程序在 IDE 中运行和从命令提示符执行时看起来不同?
- php - 针对 CORS 策略的 PHP 修复的奇怪行为
- swift - 订阅返回的发布者后如何触发流程?
- c - 将二进制结构写入文件,意外结果?
- javascript - 从对象数组创建一个字符串
- c# - UWP:某些特定目标机器的异常“ClassFactory 无法提供请求的类”
- php - 在 php 中使用 foreach 语句管理 4 维数组或 5 维数组
- c# - 在 Unity 中使用鼠标移动刚体的问题
- python - 遍历数据框中的所有行并检查所有列值是否在列表中