hookehuyr

refactor(usePagination): 将分页分组逻辑从divider改为paginator并更新相关属性名

更新分页分组逻辑,使用paginator作为分组边界标识
将page_prev_text、page_next_text和page_prev_disabled属性分别更名为back_title、next_title和is_back以保持命名一致性
......@@ -42,15 +42,15 @@ export function usePagination(formDataRef, options = {}) {
/**
* 构建分页分组
* @description 优先按 divider 分组;若仅一组则按固定大小分片
* @description 优先按 paginator 分组;若仅一组则按固定大小分片
*/
const buildPages = () => {
const result = []
let cur = []
formDataRef.value.forEach(item => {
const tag = item.component_props?.tag
// 分隔符 divider 作为分页分组边界
if (tag === 'divider') {
// 分隔符 paginator 作为分页分组边界
if (tag === 'paginator') {
if (cur.length) result.push(cur)
cur = []
return
......@@ -60,7 +60,7 @@ export function usePagination(formDataRef, options = {}) {
if (cur.length) result.push(cur)
if (result.length <= 1) {
const size = 8
const keys = formDataRef.value.filter(i => i.component_props?.tag !== 'divider').map(i => i.key)
const keys = formDataRef.value.filter(i => i.component_props?.tag !== 'paginator').map(i => i.key)
const chunked = []
for (let i = 0; i < keys.length; i += size) {
chunked.push(keys.slice(i, i + size))
......@@ -94,9 +94,9 @@ export function usePagination(formDataRef, options = {}) {
for (let k of keys) {
const item = formDataRef.value.find(i => i.key === k)
if (item && item.component_props) {
if (item.component_props.page_prev_text) prev_text = item.component_props.page_prev_text
if (item.component_props.page_next_text) next_text = item.component_props.page_next_text
if (typeof item.component_props.page_prev_disabled === 'boolean') prev_disabled = item.component_props.page_prev_disabled
if (item.component_props.back_title) prev_text = item.component_props.back_title
if (item.component_props.next_title) next_text = item.component_props.next_title
if (typeof item.component_props.is_back === 'boolean') prev_disabled = item.component_props.is_back
}
}
return { prev_text, next_text, prev_disabled }
......@@ -173,4 +173,4 @@ export function usePagination(formDataRef, options = {}) {
handleNext,
handleSubmit,
}
}
\ No newline at end of file
}
......