From 7aab3030970f1e8e024ebd62e8c7a25742b6ab8a Mon Sep 17 00:00:00 2001 From: Ky10 <7703482+ky10_code@user.noreply.gitee.com> Date: Sat, 16 Nov 2024 21:20:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(system):=20=E4=BC=98=E5=8C=96=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=A1=B5=E9=9D=A2=E5=8A=A0=E8=BD=BD=E6=9B=B4=E5=A4=9A?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加加载更多组件并实现分页加载功能 - 动态设置页面标题为新增或编辑配置 - 优化数据加载逻辑,实现自动加载下一页 --- src/pages/work/system/config/config.vue | 21 +++++++++++++++------ src/pages/work/system/config/item.vue | 4 ++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/pages/work/system/config/config.vue b/src/pages/work/system/config/config.vue index 57df655..5b6b6d4 100644 --- a/src/pages/work/system/config/config.vue +++ b/src/pages/work/system/config/config.vue @@ -4,7 +4,7 @@ - + 配置名称:{{ item.configName }} @@ -61,6 +61,7 @@ + @@ -88,10 +89,9 @@ import ConfigAPI, { ConfigPageVO, ConfigForm, ConfigPageQuery } from "@/api/syst import { DropMenuItemExpose } from "wot-design-uni/components/wd-drop-menu-item/types"; import { LoadMoreState } from "wot-design-uni/components/wd-loadmore/types"; +const state = ref("loading"); // 加载状态 loading, finished:, error const loading = ref(false); -const selectIds = ref([]); const total = ref(0); -const loadMoreState = ref("loading"); const queryParams = reactive({ pageNum: 1, pageSize: 10, @@ -132,14 +132,23 @@ function handleOpened() { } function handleQuery() { - loading.value = true; + state.value = "loading"; ConfigAPI.getPage(queryParams) .then((data) => { pageData.value = data.list; total.value = data.total; + // 计算当前已加载的条数 + const loadedCount = queryParams.pageNum * queryParams.pageSize; + + // 判断是否需要加载下一页 + if (loadedCount < total.value) { + queryParams.pageNum++; + // 调用 handleQuery 继续加载下一页 + handleQuery(); + } }) .finally(() => { - loading.value = false; + state.value = "finished"; }); } diff --git a/src/pages/work/system/config/item.vue b/src/pages/work/system/config/item.vue index f83e1b9..58001d7 100644 --- a/src/pages/work/system/config/item.vue +++ b/src/pages/work/system/config/item.vue @@ -153,6 +153,10 @@ const item = ref(null); // 获取传递的参数 onLoad((options) => { console.log("接收到参数:", options); + const title = options && options.item ? "编辑配置" : "新增配置"; + uni.setNavigationBarTitle({ + title: title, + }); if (options && options.item) { try { item.value = JSON.parse(decodeURIComponent(options.item));