UNPKG

vuux

Version:

Vue3 Nuxt3 Nuxt4 组件库

29 lines (28 loc) 821 B
import { computed as n, ref as m, watch as g } from "vue"; const d = (a, o) => { const c = n(() => a.morePageCount), t = m(a.pageNum || 1), u = n(() => Math.ceil(a.total / a.pageSize)), r = n(() => a.hide ? !(u.value <= 1 || a.total === 0) : !0), i = n(() => { const e = [], v = Math.max(2, t.value - 2), h = Math.min(u.value - 1, t.value + 2); e.push(1); for (let l = v; l <= h; l++) e.push(l); return u.value > 1 && e.push(u.value), e; }), s = (e) => { e !== t.value && e > 0 && e <= u.value && (t.value = e, o("change", t.value)); }; return g( () => a.pageNum, (e) => { e !== t.value && (t.value = e); } ), { currentMorePageCount: c, currentNum: t, totalPages: u, isHide: r, pages: i, handlePage: s }; }; export { d as usePagination };