切换私有源

This commit is contained in:
castleiMac 2022-01-04 18:43:58 +08:00
parent 064a436451
commit a455abee12
2 changed files with 125 additions and 102 deletions

View File

@ -1,5 +1,5 @@
{
"name": "@layui/layui-vue",
"name": "@ctsy/layui-vue",
"version": "0.3.2",
"author": "sleeprite",
"license": "MIT",

View File

@ -1,6 +1,7 @@
<template>
<div class="layui-box layui-laypage layui-laypage-default">
<span v-if="showCount" class="layui-laypage-count"> {{ total }} </span
<span v-if="showCount" class="layui-laypage-count"
> {{ total }} {{}} </span
><a
href="javascript:;"
class="layui-laypage-prev"
@ -54,14 +55,23 @@
</template>
<script setup name="LayPage" lang="ts">
import { defineProps, Ref, ref, watch, useSlots, computed, ComputedRef } from "vue";
import {
defineProps,
Ref,
ref,
watch,
useSlots,
computed,
ComputedRef,
} from "vue";
const slots = useSlots();
const props = withDefaults(
defineProps<{
total: number;
limit: number;
limit?: number;
pages?: number;
theme?: string;
showPage?: boolean | string;
showSkip?: boolean | string;
@ -72,6 +82,7 @@ const props = withDefaults(
}>(),
{
limit: 10,
pages: 10,
theme: "green",
showPage: false,
showSkip: false,
@ -81,23 +92,35 @@ const props = withDefaults(
showRefresh: false,
}
);
const limits = ref(props.limits);
const pages = props.pages / 2
const inlimit = computed({ get() { return props.limit }, set(v: number) { emit('limit', v) } })
const pages = props.pages / 2;
const inlimit = computed({
get() {
return props.limit;
},
set(v: number) {
emit("limit", v);
},
});
const maxPage = ref(Math.ceil(props.total / props.limit));
const totalPage = computed(() => {
let r: number[] = [], start = (maxPage.value <= props.pages ? 1 : currentPage.value > pages ? currentPage.value - pages : 1)
let r: number[] = [],
start =
maxPage.value <= props.pages
? 1
: currentPage.value > pages
? currentPage.value - pages
: 1;
for (let i = start; ; i++) {
if (r.length >= props.pages || i > maxPage.value) {
break;
}
r.push(i)
r.push(i);
}
return r;
})
});
const currentPage: Ref<number> = ref(1);
const currentPageShow: Ref<number> = ref(currentPage.value);
const emit = defineEmits(["jump"]);
const emit = defineEmits(["jump", "limit"]);
const prev = function () {
if (currentPage.value === 1) {
@ -107,7 +130,7 @@ const prev = function () {
};
const next = function () {
if (currentPage.value === totalPage.value) {
if (currentPage.value === totalPage.value[totalPage.value.length - 1]) {
return;
}
currentPage.value++;
@ -123,7 +146,7 @@ const jumpPage = function () {
watch(inlimit, function () {
currentPage.value = 1;
totalPage.value = Math.ceil(props.total / inlimit.value);
// totalPage.value = Math.ceil(props.total / inlimit.value);
});
watch(currentPage, function () {