UNPKG

yk-element-components

Version:

101 lines (100 loc) 2.48 kB
import { defineComponent as m, computed as l, resolveComponent as y, openBlock as f, createElementBlock as b, normalizeClass as z, createElementVNode as C, toDisplayString as S, createVNode as N, mergeProps as h, unref as p, isRef as g } from "vue"; const v = { class: "pagination_left" }, k = /* @__PURE__ */ m({ __name: "index", props: { total: { required: !0, type: [Number, String] }, page: { type: [Number, String], default: 1 }, limit: { type: Number, default: 20 }, pageSizes: { type: Array, default() { return [10, 20, 30, 50]; } }, pagerCount: { type: Number, default: document.body.clientWidth < 992 ? 5 : 7 }, layout: { type: String, default: "sizes, prev, pager, next" }, background: { type: Boolean, default: !0 }, autoScroll: { type: Boolean, default: !0 }, hidden: { type: Boolean, default: !1 } }, emits: [ "update:page", "update:limit", "pagination" ], setup(e, { emit: n }) { const r = e, a = l({ get() { return Number(r.page); }, set(t) { n("update:page", t); } }), o = l({ get() { return r.limit; }, set(t) { n("update:limit", t); } }), d = (t) => { n("pagination", { page: t, limit: o }); }, s = (t) => { n("pagination", { page: a, limit: t }); }; return (t, u) => { const c = y("el-pagination"); return f(), b("div", { class: z([{ hidden: e.hidden }, "pagination-container"]) }, [ C("div", v, "\u5171 " + S(Number(e.total)) + " \u9879\u6570\u636E", 1), N(c, h({ background: e.background, "current-page": p(a), "onUpdate:current-page": u[0] || (u[0] = (i) => g(a) ? a.value = i : null), "page-size": p(o), "onUpdate:page-size": u[1] || (u[1] = (i) => g(o) ? o.value = i : null), layout: e.layout, "page-sizes": e.pageSizes, "pager-count": e.pagerCount, total: Number(e.total) }, t.$attrs, { onSizeChange: d, onCurrentChange: s }), null, 16, ["background", "current-page", "page-size", "layout", "page-sizes", "pager-count", "total"]) ], 2); }; } }); const B = { install(e) { e.component("yk-pagination", k); } }; export { B as default };