UNPKG

mine-h5-ui

Version:

一款轻量级、模块化基于 Vue3.x 的 H5 前端 UI 组件库 👍

57 lines (56 loc) 2.25 kB
import { defineComponent as _, useModel as T, useSlots as b, openBlock as a, createElementBlock as i, normalizeClass as s, unref as e, renderSlot as v, Fragment as u, createTextVNode as x, toDisplayString as d, createCommentVNode as p, renderList as g, mergeModels as S } from "vue"; import { usePagination as V } from "./hooks.js"; import { name as t } from "./config.js"; const B = ["onClick"], D = /* @__PURE__ */ _({ name: t, __name: "index", props: /* @__PURE__ */ S({ total: { default: 0 }, pageSize: { default: 10 }, mode: { default: "default" }, ellipsis: { type: Boolean, default: !1 }, prevText: { default: "上一页" }, nextText: { default: "下一页" }, disabled: { type: Boolean, default: !1 } }, { modelValue: { default: 1 }, modelModifiers: {} }), emits: ["update:modelValue"], setup(l) { const y = l, o = T(l, "modelValue"), f = b(), { totalSize: c, filterItems: C, onClickItem: r } = V(y, o); return (k, m) => (a(), i("ul", { class: s({ [e(t)]: !0, [`${e(t)}--disabled`]: l.disabled }) }, [ l.prevText ? (a(), i("li", { key: 0, class: s(`${e(t)}__item ${e(t)}__item--prev ${o.value === 1 ? e(t) + "__item--disabled" : ""}`), onClick: m[0] || (m[0] = (n) => e(r)("prev")) }, [ f.prev ? v(k.$slots, "prev", { key: 0 }) : (a(), i(u, { key: 1 }, [ x(d(l.prevText), 1) ], 64)) ], 2)) : p("", !0), l.mode === "simple" ? (a(), i("li", { key: 1, class: s(`${e(t)}__item ${e(t)}__item--simple`) }, d(o.value) + "/" + d(e(c)), 3)) : (a(!0), i(u, { key: 2 }, g(e(C), (n, $) => (a(), i("li", { key: $, class: s(`${e(t)}__item ${o.value === n ? e(t) + "__item--active" : ""}`), onClick: (z) => e(r)(n, $) }, d(n), 11, B))), 128)), l.nextText ? (a(), i("li", { key: 3, class: s(`${e(t)}__item ${e(t)}__item--next ${o.value === e(c) ? e(t) + "__item--disabled" : ""}`), onClick: m[1] || (m[1] = (n) => e(r)("next")) }, [ f.next ? v(k.$slots, "next", { key: 0 }) : (a(), i(u, { key: 1 }, [ x(d(l.nextText), 1) ], 64)) ], 2)) : p("", !0) ], 2)); } }); export { D as default };