Corrige tabela e paginacao

This commit is contained in:
LeoMortari
2025-09-24 11:46:55 -03:00
parent 31fb7addb5
commit 8e5939dcdf
3 changed files with 76 additions and 26 deletions

View File

@@ -12,7 +12,7 @@
hide-pagination
>
<template v-slot:loading>
<q-inner-loading color="primary" />
<q-inner-loading showing color="primary" />
</template>
<template v-slot:no-data>
@@ -25,8 +25,11 @@
<q-pagination
v-model="pagination.page"
color="primary"
:max="pagination.totalPages"
size="md"
:max="pagination.totalPages"
:disable="loading"
input
@update:model-value="updatePagination"
/>
</div>
@@ -41,54 +44,52 @@
import has from "lodash/has";
export default {
name: "Table",
props: {
columns: {
type: Array,
required: true,
validator: (value) => value.some((item) => has(item, ["name", "label"])),
validator: (value) =>
Array.isArray(value) &&
value.every((col) => has(col, "name") && has(col, "label")),
},
rows: {
type: Array,
required: true,
validator: (value) => value.some((item) => has(item, ["name", "label"])),
validator: (value) => Array.isArray(value),
},
rowName: {
type: String,
required: false,
default: "name",
},
rowKey: {
type: String,
required: false,
default: "id",
},
title: {
type: String,
required: false,
},
title: String,
loading: {
type: Boolean,
required: false,
default: false,
},
pagination: {
type: Object,
required: false,
default: {
sortBy: "desc",
descending: false,
currentPage: 1,
page: 1,
direction: "desc",
perPage: 10,
total: 10,
totalPages: 1,
totalItems: 10,
hasNext: false,
hasPrev: false,
},
},
},
setup(props) {
return {
columns: props.columns,
rows: props.rows,
rowKey: props.rowKey,
};
emits: ["update:pagination"],
methods: {
updatePagination(page) {
this.$emit("update:pagination", { ...this.pagination, page });
},
},
};
</script>