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

Events ​

Pagination ​

EventPayloadDescription
update:pagenumberEvent handler called when the page changes.

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