From cae7777c70b2af60263e488fbe28d86042915f78 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Mon, 11 Nov 2024 11:43:21 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86=E6=8E=A5=E5=8F=A3=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1287554970648576]表单下拉框接口分页逻辑修复 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1287554970648576 --- .../MatrixColumnDataSearchForSelectApi.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/neatlogic/module/tenant/api/matrix/MatrixColumnDataSearchForSelectApi.java b/src/main/java/neatlogic/module/tenant/api/matrix/MatrixColumnDataSearchForSelectApi.java index c64c7b49..538134eb 100644 --- a/src/main/java/neatlogic/module/tenant/api/matrix/MatrixColumnDataSearchForSelectApi.java +++ b/src/main/java/neatlogic/module/tenant/api/matrix/MatrixColumnDataSearchForSelectApi.java @@ -306,7 +306,8 @@ public class MatrixColumnDataSearchForSelectApi extends PrivateApiComponentBase deduplicateData(null, valueField, textField, resultList); } else { List> previousPageList = new ArrayList<>(); - int startPage = dataVo.getCurrentPage(); + int startNum = dataVo.getStartNum(); + int currentPageBackup = dataVo.getCurrentPage(); int pageSize = dataVo.getPageSize(); int currentPage = 0; while (resultList.size() < pageSize) { @@ -314,14 +315,20 @@ public class MatrixColumnDataSearchForSelectApi extends PrivateApiComponentBase dataVo.setCurrentPage(currentPage); List> list = matrixDataSourceHandler.searchTableDataNew(dataVo); deduplicateData(previousPageList, valueField, textField, list); - previousPageList.addAll(list); - if (currentPage >= startPage) { - resultList.addAll(list); + for (Map element : list) { + previousPageList.add(element); + if (previousPageList.size() > startNum) { + resultList.add(element); + if (resultList.size() >= pageSize) { + break; + } + } } if (currentPage >= dataVo.getPageCount()) { break; } } + dataVo.setCurrentPage(currentPageBackup); } JSONArray dataList = new JSONArray(); if (CollectionUtils.isNotEmpty(resultList)) { -- Gitee