vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 955 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),f=(a,r)=>{const v=t.computed(()=>a.morePageCount),e=t.ref(a.pageNum||1),o=t.computed(()=>Math.ceil(a.total/a.pageSize)),i=t.computed(()=>a.hide?!(o.value<=1||a.total===0):!0),n=t.computed(()=>a.queryField),s=t.computed(()=>{const u=[],c=Math.max(2,e.value-2),P=Math.min(o.value-1,e.value+2);u.push(1);for(let l=c;l<=P;l++)u.push(l);return o.value>1&&u.push(o.value),u}),m=t.computed(()=>n.value+Math.max(1,e.value-1)),d=t.computed(()=>n.value+Math.min(o.value,e.value+1)),g=t.computed(()=>n.value+(e.value-v.value)),h=t.computed(()=>n.value+(e.value+v.value)),M=u=>{const c=Math.min(Math.max(1,u),o.value);c!==e.value&&(e.value=c,r("update:pageNum",c))};return t.watch(()=>a.pageNum,u=>{u!==e.value&&(e.value=u)}),{currentNum:e,totalPages:o,isHide:i,queryTxet:n,pages:s,toPrev:m,toNext:d,leftMore:g,rightMore:h,setPage:M}};exports.useNuxtPagination=f;