@corgicoding-el/data-pagination
Version:
基于element-plus的分页组件
2 lines (1 loc) • 1.62 kB
JavaScript
(function(e,n){typeof exports=="object"&&typeof module<"u"?module.exports=n(require("vue")):typeof define=="function"&&define.amd?define(["vue"],n):(e=typeof globalThis<"u"?globalThis:e||self,e.DataPagination=n(e.vue))})(this,function(e){"use strict";const n=e.defineComponent({__name:"DataPagination",props:{currentPage:{default:1},pageSize:{default:10},small:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},background:{type:Boolean,default:!0},total:{default:0},layout:{default:"total, sizes, prev, pager, next, jumper"},componentOptions:{default:()=>({})},eventOptions:{default:()=>({})}},emits:["size-change","current-change","update:current-page","update:pageSize"],setup(l,{expose:d,emit:g}){const r=e.ref(),s=l,a=g,c=t=>{a("size-change",t)},f=t=>{a("current-change",t)},u=e.computed({get:()=>s.currentPage,set:t=>{a("update:current-page",t)}}),i=e.computed({get:()=>s.pageSize,set:t=>{a("update:pageSize",t)}});return d({elRef:r}),(t,o)=>{const m=e.resolveComponent("el-pagination");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(m,e.mergeProps({ref_key:"elRef",ref:r,"current-page":u.value,"onUpdate:currentPage":o[0]||(o[0]=p=>u.value=p),"page-size":i.value,"onUpdate:pageSize":o[1]||(o[1]=p=>i.value=p),"page-sizes":[5,10,15,20,50,100,200,500],small:t.small,"pager-count":5,disabled:t.disabled,background:t.background,layout:t.layout,total:t.total},t.componentOptions,{onSizeChange:c,onCurrentChange:f},e.toHandlers(t.eventOptions)),null,16,["current-page","page-size","small","disabled","background","layout","total"])])}}});return n.install=l=>{l.component(n.__name,n)},n});