feat(分页): 添加最后一页判断逻辑并优化授权提示显示
在分页逻辑中增加 is_last_page 计算属性用于判断当前页是否为最后一页 优化授权提示的显示逻辑,仅在最后一页或非分页情况下显示
Showing
2 changed files
with
15 additions
and
2 deletions
| ... | @@ -172,6 +172,16 @@ export function usePagination(formDataRef, options = {}) { | ... | @@ -172,6 +172,16 @@ export function usePagination(formDataRef, options = {}) { |
| 172 | }) | 172 | }) |
| 173 | 173 | ||
| 174 | /** | 174 | /** |
| 175 | + * 是否为最后一页 | ||
| 176 | + * @description 判断当前页索引是否位于过滤后的最后一页 | ||
| 177 | + * @returns {import('vue').ComputedRef<boolean>} | ||
| 178 | + */ | ||
| 179 | + const is_last_page = computed(() => { | ||
| 180 | + const last = filtered_pages.value.length - 1 | ||
| 181 | + return current_page_index.value === last | ||
| 182 | + }) | ||
| 183 | + | ||
| 184 | + /** | ||
| 175 | * 校验当前页 | 185 | * 校验当前页 |
| 176 | * @returns {Promise<boolean>} 是否通过校验 | 186 | * @returns {Promise<boolean>} 是否通过校验 |
| 177 | */ | 187 | */ |
| ... | @@ -237,6 +247,7 @@ export function usePagination(formDataRef, options = {}) { | ... | @@ -237,6 +247,7 @@ export function usePagination(formDataRef, options = {}) { |
| 237 | enable_pagination, | 247 | enable_pagination, |
| 238 | buildPages, | 248 | buildPages, |
| 239 | page_nav, | 249 | page_nav, |
| 250 | + is_last_page, | ||
| 240 | validateCurrentPage, | 251 | validateCurrentPage, |
| 241 | handlePrev, | 252 | handlePrev, |
| 242 | handleNext, | 253 | handleNext, | ... | ... |
| ... | @@ -37,7 +37,7 @@ | ... | @@ -37,7 +37,7 @@ |
| 37 | v-if="enable_pagination" | 37 | v-if="enable_pagination" |
| 38 | :current="current_page_index" | 38 | :current="current_page_index" |
| 39 | :total="filtered_pages.length" | 39 | :total="filtered_pages.length" |
| 40 | - :is-last="current_page_index === filtered_pages.length - 1" | 40 | + :is-last="is_last_page" |
| 41 | :prev-label="page_nav.prev_text" | 41 | :prev-label="page_nav.prev_text" |
| 42 | :next-label="page_nav.next_text" | 42 | :next-label="page_nav.next_text" |
| 43 | :prev-btn-color="page_nav.prev_btn_color" | 43 | :prev-btn-color="page_nav.prev_btn_color" |
| ... | @@ -148,7 +148,8 @@ | ... | @@ -148,7 +148,8 @@ |
| 148 | /> --> | 148 | /> --> |
| 149 | </van-config-provider> | 149 | </van-config-provider> |
| 150 | </div> | 150 | </div> |
| 151 | - <div v-if="page_type === 'add'" style="text-align: center; color: #545454; font-size: 0.85rem; padding-bottom: 2rem"> | 151 | + <!-- TAG:分页使用时,仅在最后一页展示授权提示;非分页保持原逻辑显示 --> |
| 152 | + <div v-if="page_type === 'add' && (!enable_pagination || is_last_page)" style="text-align: center; color: #545454; font-size: 0.85rem; padding-bottom: 2rem"> | ||
| 152 | 提交即授权该表单收集你的填写信息 | 153 | 提交即授权该表单收集你的填写信息 |
| 153 | </div> | 154 | </div> |
| 154 | <!-- 分页组件高度占位符 --> | 155 | <!-- 分页组件高度占位符 --> |
| ... | @@ -1471,6 +1472,7 @@ const { | ... | @@ -1471,6 +1472,7 @@ const { |
| 1471 | visible_form_data, | 1472 | visible_form_data, |
| 1472 | buildPages, | 1473 | buildPages, |
| 1473 | page_nav, | 1474 | page_nav, |
| 1475 | + is_last_page, | ||
| 1474 | handlePrev, | 1476 | handlePrev, |
| 1475 | handleNext, | 1477 | handleNext, |
| 1476 | handleSubmit, | 1478 | handleSubmit, | ... | ... |
-
Please register or login to post a comment