refactor(分页): 调整分页构建逻辑,无分页控件时不启用分页
移除按固定大小分片的兜底逻辑,确保无分页控件时不显示分页组件
Showing
2 changed files
with
12 additions
and
10 deletions
| ... | @@ -18,3 +18,4 @@ | ... | @@ -18,3 +18,4 @@ |
| 18 | - `onFailed` 时清除该标记,避免误判后续提交动作。 | 18 | - `onFailed` 时清除该标记,避免误判后续提交动作。 |
| 19 | - `index.vue` 在 `onSubmit` 顶部拦截“下一页意图”,短路真实提交,仅做翻页与状态重置。 | 19 | - `index.vue` 在 `onSubmit` 顶部拦截“下一页意图”,短路真实提交,仅做翻页与状态重置。 |
| 20 | - 保持分页最后一页提示与按钮颜色逻辑同步。 | 20 | - 保持分页最后一页提示与按钮颜色逻辑同步。 |
| 21 | + - 分页构建逻辑调整:当表单中不存在 `paginator` 控件时不启用分页,移除按固定大小(8个字段)分片的兜底逻辑,确保无分页控件时不显示分页组件。 | ... | ... |
| ... | @@ -109,17 +109,18 @@ export function usePagination(formDataRef, options = {}) { | ... | @@ -109,17 +109,18 @@ export function usePagination(formDataRef, options = {}) { |
| 109 | navs.push(normalizePaginatorProps()) | 109 | navs.push(normalizePaginatorProps()) |
| 110 | } | 110 | } |
| 111 | 111 | ||
| 112 | - // 若未显式分页,仅按固定大小分片,并为每一页设置默认导航 | 112 | + // 无显式分页符时,不启用分页(单页展现,不再进行固定大小分片) |
| 113 | - if (pages.length <= 1) { | 113 | + // 这样可确保没有 paginator 控件时,分页组件不会显示 |
| 114 | - const size = 8 | 114 | + const has_paginator = formDataRef.value.some(i => i.component_props?.tag === 'paginator') |
| 115 | - const keys = formDataRef.value.filter(i => i.component_props?.tag !== 'paginator').map(i => i.key) | 115 | + if (!has_paginator) { |
| 116 | - const chunked = [] | 116 | + const keys = formDataRef.value |
| 117 | - for (let i = 0; i < keys.length; i += size) { | 117 | + .filter(i => i.component_props?.tag !== 'paginator') |
| 118 | - chunked.push(keys.slice(i, i + size)) | 118 | + .map(i => i.key) |
| 119 | - } | 119 | + pages_raw.value = [keys] |
| 120 | - pages_raw.value = chunked.length ? chunked : [keys] | 120 | + // 单页仍提供默认导航配置,供最后页按钮样式读取,但不会显示分页组件 |
| 121 | - page_nav_props_by_index.value = (chunked.length ? chunked : [keys]).map(() => normalizePaginatorProps()) | 121 | + page_nav_props_by_index.value = [normalizePaginatorProps()] |
| 122 | } else { | 122 | } else { |
| 123 | + // 有分页符时按分组结果设置 | ||
| 123 | pages_raw.value = pages | 124 | pages_raw.value = pages |
| 124 | page_nav_props_by_index.value = navs | 125 | page_nav_props_by_index.value = navs |
| 125 | } | 126 | } | ... | ... |
-
Please register or login to post a comment