mirror of
https://gitee.com/myxzgzs/boyue-kfcode-hasfj.git
synced 2025-06-21 22:19:36 +08:00
2 lines
2.7 KiB
JavaScript
2 lines
2.7 KiB
JavaScript
![]() |
import{d as z,r as N,w,s as r,c as o,e as l,l as m,n as d,F as k,h as y,t as b,j as f,u as M,v as $,k as u,_ as A}from"./index-YPQZSfu5.js";const E={class:"pagination-container"},F={class:"pagination"},L=["disabled"],D={key:0,class:"pagination-item"},j={key:1,class:"pagination-item ellipsis"},q=["onClick"],I={key:2,class:"pagination-item ellipsis"},R={key:3,class:"pagination-item"},T=["disabled"],U={class:"pagination-info"},G={class:"total"},H=["value"],J=z({__name:"Pagination",props:{total:{type:Number,required:!0},currentPage:{type:Number,default:1},pageSize:{type:Number,default:10},pageSizes:{type:Array,default:()=>[10,20,50,100]},maxVisibleButtons:{type:Number,default:5}},emits:["update:currentPage","update:pageSize","change"],setup(s,{emit:x}){const n=s,g=x,P=N(n.pageSize);w(P,i=>{g("update:pageSize",i),g("change",1,i)});const a=r(()=>n.total<=0?0:Math.ceil(n.total/n.pageSize)),v=r(()=>{if(a.value<=n.maxVisibleButtons)return Array.from({length:a.value},(h,p)=>p+1);const i=Math.floor(n.maxVisibleButtons/2);let e=n.currentPage-i,t=n.currentPage+i;return e<2&&(e=2,t=Math.min(a.value-1,e+n.maxVisibleButtons-3)),t>=a.value&&(t=a.value-1,e=Math.max(2,t-n.maxVisibleButtons+3)),Array.from({length:t-e+1},(h,p)=>e+p)}),S=r(()=>a.value>0),B=r(()=>a.value>1),C=r(()=>v.value[0]>2),V=r(()=>v.value[v.value.length-1]<a.value-1),c=i=>{i<1||i>a.value||i===n.currentPage||(g("update:currentPage",i),g("change",i,n.pageSize))};return(i,e)=>(u(),o("div",E,[l("ul",F,[l("li",{class:d(["pagination-item",{disabled:s.currentPage===1}])},[l("button",{onClick:e[0]||(e[0]=t=>c(s.currentPage-1)),disabled:s.currentPage===1}," 上一页 ",8,L)],2),S.value?(u(),o("li",D,[l("button",{onClick:e[1]||(e[1]=t=>c(1)),class:d({active:s.currentPage===1})},"1",2)])):m("",!0),C.value?(u(),o("li",j,"...")):m("",!0),(u(!0),o(k,null,y(v.value,t=>(u(),o("li",{key:t,class:"pagination-item"},[l("button",{onClick:h=>c(t),class:d({active:s.currentPage===t})},b(t),11,q)]))),128)),V.value?(u(),o("li",I,"...")):m("",!0),B.value?(u(),o("li",R,[l("button",{onClick:e[2]||(e[2]=t=>c(a.value)),class:d({active:s.currentPage===a.value})},b(a.value),3)])):m("",!0),l("li",{class:d(["pagination-item",{disabled:s.currentPage===a.value||a.value===0}])},[l("button",{onClick:e[3]||(e[3]=t=>c(s.currentPage+1)),disabled:s.currentPage===a.value||a.value===0}," 下一页 ",8,T)],2)]),l("div",U,[e[5]||(e[5]=f(" 共 ")),l("span",G,b(s.total),1),e[6]||(e[6]=f(" 条数据,每页显示 ")),M(l("select",{"onUpdate:modelValue":e[4]||(e[4]=t=>P.value=t),class:"page-size-select"},[(u(!0),o(k,null,y(s.pageSizes,t=>(u(),o("option",{key:t,value:t},b(t),9,H))),128))],512),[[$,P.value]]),e[7]||(e[7]=f(" 条 "))])]))}}),O=A(J,[["__scopeId","data-v-be628029"]]);export{O as P};
|