Skip to content

Pagination

Pagination with page navigation, next and previous links.

Examples

Default

vue
<script setup>
import {
  Pagination,
  PaginationContent,
  PaginationEllipsis,
  PaginationItem,
  PaginationNext,
  PaginationPrevious
} from '@empathyds/vue'
</script>

<template>
  <Pagination :total="10" :sibling-count="1" show-edges :default-page="1">
    <PaginationContent v-slot="{ items }">
      <PaginationItem>
        <PaginationPrevious />
      </PaginationItem>
      <template v-for="(item, index) in items">
        <PaginationItem v-if="item.type === 'page'" :key="index" :value="item.value">
          {{ item.value }}
        </PaginationItem>
        <PaginationEllipsis v-else :key="item.type + index" :index="index" />
      </template>
      <PaginationItem>
        <PaginationNext />
      </PaginationItem>
    </PaginationContent>
  </Pagination>
</template>

Props

Pagination

PropTypeDefaultDescription
countnumber-The total number of items
totalnumber0The total number of pages
pagenumber-The current page
default-pagenumber1The default page
items-per-pagenumber10The number of items per page
sibling-countnumber1The number of sibling pages to show
show-edgesbooleanfalseWhether to show edge pages

Slots

Pagination

SlotDescription
defaultThe pagination content

PaginationContent

SlotDescription
defaultThe list of pagination items. Exposes { items }

PaginationItem

SlotDescription
defaultThe item content

PaginationPrevious

SlotDescription
defaultThe previous button content
iconThe icon content

PaginationNext

SlotDescription
defaultThe next button content
iconThe icon content

PaginationEllipsis

SlotDescription
defaultThe ellipsis content
iconThe icon content