Skip to main content

table

Funcionalidades

  • Listar registros
  • Paginar registros
  • Filtrar registros

Unicamente debes pasarle la url donde realizara las peticiones get para listar los registros o si prefieres hacerlo manualmente puedes pasarle los items a renderizar

Uso del componente Table

Ejemplo de Vista



<template>
<div>
<!-- Tabla de sinistros -->
<Table
:items="localItems"
:inputs="filterInputs"
:striped="true"
:fields="fields"
:url="www.api.com"
:requestConfiguration="requestConfiguration"
@getItems="localItems = $event"
ref="refTable"
>
<template v-slot:cell(edit)="{ data }: { data: any }">
<div>
<CButton
background="bg-white"
:customClass="`p-1`"
@click="onOpenEdit(data)"
type="button"
>
<template v-slot:content>
<img :src="editIcon" alt="editar">
</template>
</CButton>
</div>
</template>
<template v-slot:cell(delete)="{ data }: { data: any }">
<CButton
background="bg-white"
:customClass="`p-1`"
type="button"
@click="handleDelete(data)"
>
<template v-slot:content>
<img :src="deleteIcon" alt="basura">
</template>
</CButton>
</template>
<template v-slot:table-busy>
<div class="text-center text-dark my-2">
<!-- Contenido personalizado de carga -->
</div>
</template>
</Table>
</div>
</template>

<script lang="ts" setup>
const fields: any = ref([
{
key: 'id',
label: '##',
sortable: true,
},
{
key: 'nombre',
label: 'nombre',
},
{
key: 'created_at',
label: 'Fecha',
formatter: (item: string) => formatDateTime(item),
},
{
key: "edit",
label: "Editar",
},
{
key: "delete",
label: "Eliminar",
},
]);

const filterInputs = ref<Array<any>>([
{
key: 'nombre',
type: 'text',
placeholder: 'Nombre',
value: '',
state: null,
cols: 6,
},
]);

const localItems: any = ref([])
</script>

Propiedades

El componente Table acepta las siguientes propiedades:

PropiedadTipoDescripción
itemsArrayDatos a mostrar en la tabla.
fieldsArrayConfiguración de los campos de la tabla.
inputsArrayCampos de entrada para los filtros.
stripedBooleanControla el aspecto visual de la tabla.
hoverBooleanControla el resaltado al pasar el mouse sobre las filas.
urlStringURL para obtener datos de forma remota.
requestConfigurationObjectConfiguración adicional para la solicitud HTTP.
searchableBooleanHabilita la funcionalidad de búsqueda y filtros.
currentPageNumberPágina actual en la paginación.
totalRowsNumberNúmero total de filas en la paginación.
perPageNumberNúmero de elementos por página en la paginación.
searchIconStringRuta del icono para el botón de búsqueda.
searchButtonConfigObjectConfiguración personalizada para el botón de búsqueda.
resetButtonConfigObjectConfiguración personalizada para el botón de reinicio de filtros.

Slots

El componente Table ofrece los siguientes slots personalizables:

SlotDescripción
table-busyContenido personalizado que se muestra durante la carga de datos.
cellPersonaliza el contenido de las celdas de la tabla.
filterPersonaliza los campos de filtro de la tabla.