Home

Awesome

Vueye Table

Vueye Table is a Vue 3 component for displaying data in a table.

Installation

Vue 3:

npm install vueye-table

Nuxt :

npm install nuxt-vueye-table

Usage

Vue :

<script setup lang="ts">
    import { VueyeTable } from 'vueye-table'

    const items = [
        {
            id: 60,
            name: {
                first_name: 'Brahim',
                last_name: 'Boussadjra',
            },
            age: 30,
            address: {
                country: 'Algeria',
                city: 'Algiers',
            },
        },
        //...
    ]
</script>

<template>
    <VueyeTable :data="items" />
</template>

Nuxt :

// nuxt.config.js
export default defineNuxtConfig({
    modules: ['nuxt-vueye-table'],
    // ...
})

VueyeTableProps

Prop NameTypeDefault ValueDescription
dataTData[][]An array of data for the table.
columnHeadersTColumn[] or a function returning an array[]An array of column headers for the table.
itemValuestring'id'The property name used as a unique identifier for each item.
perPagenumber10The number of items displayed per page.
currentPagenumber1The current page number.
perPageOptionsnumber[] or a function returning an array[5, 10, 20, 30]An array of options for the number of items per page.
loadingbooleanfalseIndicates whether the table is in a loading state.
selectedTData[], Row[], or nullnullAn array of selected items or rows.
selectMode'page' or 'all''all'The mode for selecting items: 'page' or 'all'.
captionstring''The table's caption.
summarystring''The table's summary.

VueyeTableEmits

Emit NameParametersDescription
update:loadingvalue: booleanEmits when the loading state changes.
update:selectedvalue: T[]Emits when the selected items change.

PaginationEmits

Emit NameParametersDescription
update:currentPagevalue: numberEmits when the current page changes.
update:perPagevalue: numberEmits when the number of items per page changes.

SlotHeader

The SlotHeader component defines various slots for customizing the table header.

SlotRow

The SlotRow component defines various slots for customizing the table rows.

You can use these Markdown tables to document the props, emits, and slot definitions for the data table and pagination components in your Vue 3 project.