CoreUI Angular Logo
Framework:
  • JavaScript / Vanilla JS
  • React.js
  • Vue.js
Getting startedIntroductionSupport CoreUICustomizeSassOptionsCSS VariablesLayoutBreakpointsContainersGridColumnsGuttersFormsOverviewDate PickerPRODate Range PickerPROForm ControlSelectMulti SelectPROChecks & RadiosPassword InputPRORangeRange SliderPRORatingPROStepperPROInput GroupFloating LabelsLayoutTime PickerPROValidationComponentsAccordionAlertAvatarBadgeBreadcrumbButtonButton GroupCalendarPROCalloutCardCarouselClose buttonCollapseDropdownFooterHeaderImageList GroupLoading ButtonPROModalNavNavbarOffcanvasPaginationPlaceholderPopoverProgressSmart PaginationPROSmart TablePROSidebarSpinnerTableTabsNewToastTooltipWidgetsIconsChartsTemplatesNewAdmin & DasardDownloadInstallationCustomizeContentMigrationv4 → v5v3 → v4Angular version


DownloadHire UsGet CoreUI PRO
On this page

    Angular Pagination Component

    Documentation and examples for showing Angular pagination to indicate a series of related content exists across multiple pages.

    Overview

    We use a large block of connected links for our pagination, making links hard to miss and easily scalable—all while providing large hit areas. Pagination is built with list HTML elements so screen readers can announce the number of available links. Use a wrapping <nav> element to identify it as a navigation section to screen readers and other assistive technologies.

    In addition, as pages likely have more than one such navigation section, it's advisable to provide a descriptive aria-label for the <nav> to reflect its purpose. For example, if the pagination component is used to navigate between a set of search results, an appropriate label could be aria-label="Search results pages".

    • Previous
    • 1
    • 2
    • 3
    • Next
    Loading...
    import { Component } from '@angular/core';
    import { RouterLink } from '@angular/router';
    import { PageItemDirective, PageLinkDirective, PaginationComponent } from '@coreui/angular';
    
    @Component({
      selector: 'docs-pagination01-example',
      templateUrl: './pagination01.component.html',
      standalone: true,
      imports: [
        PaginationComponent,
        PageItemDirective,
        PageLinkDirective,
        RouterLink
      ]
    })
    export class Pagination01Component {}
    

    Working with icons

    Looking to use an icon or symbol in place of text for some pagination links? Be sure to provide proper screen reader support with aria attributes.

    • «
    • 1
    • 2
    • 3
    • »
    Loading...
    import { Component } from '@angular/core';
    import { RouterLink } from '@angular/router';
    import { PageItemDirective, PageLinkDirective, PaginationComponent } from '@coreui/angular';
    
    @Component({
      selector: 'docs-pagination02-example',
      templateUrl: './pagination02.component.html',
      standalone: true,
      imports: [
        PaginationComponent,
        PageItemDirective,
        PageLinkDirective,
        RouterLink
      ]
    })
    export class Pagination02Component {}
    

    Disabled and active states

    Pagination links are customizable for different circumstances. Use disabled for links that appear un-clickable and .active to indicate the current page.

    While the disabled prop uses pointer-events: none to try to disable the link functionality of <a>s, that CSS property is not yet standardized and doesn't account for keyboard navigation. As such, we always add tabindex="-1" on disabled links and use custom JavaScript to fully disable their functionality.

    • Previous
    • 1
    • 2
    • 3
    • Next
    Loading...
    import { Component } from '@angular/core';
    import { RouterLink } from '@angular/router';
    import { PageItemDirective, PageLinkDirective, PaginationComponent } from '@coreui/angular';
    
    @Component({
      selector: 'docs-pagination03-example',
      templateUrl: './pagination03.component.html',
      standalone: true,
      imports: [
        PaginationComponent,
        PageItemDirective,
        PageLinkDirective,
        RouterLink
      ]
    })
    export class Pagination03Component {}
    

    You can optionally swap out active or disabled anchors for <span>, or omit the anchor in the case of the prev/next arrows, to remove click functionality and prevent keyboard focus while retaining intended styles.

    • Previous
    • 1
    • 2
    • 3
    • Next
    Loading...
    import { Component } from '@angular/core';
    import { RouterLink } from '@angular/router';
    import { PageItemDirective, PageLinkDirective, PaginationComponent } from '@coreui/angular';
    
    @Component({
      selector: 'docs-pagination04-example',
      templateUrl: './pagination04.component.html',
      standalone: true,
      imports: [
        PaginationComponent,
        PageItemDirective,
        PageLinkDirective,
        RouterLink
      ]
    })
    export class Pagination04Component {}
    

    Sizing

    Fancy larger or smaller pagination? Add size="lg" or size="sm" for additional sizes.

    • Previous
    • 1
    • 2
    • 3
    • Next
    Loading...
    import { Component } from '@angular/core';
    import { RouterLink } from '@angular/router';
    import { PageItemDirective, PageLinkDirective, PaginationComponent } from '@coreui/angular';
    
    @Component({
      selector: 'docs-pagination05-example',
      templateUrl: './pagination05.component.html',
      standalone: true,
      imports: [
        PaginationComponent,
        PageItemDirective,
        PageLinkDirective,
        RouterLink
      ]
    })
    export class Pagination05Component {}
    
    • Previous
    • 1
    • 2
    • 3
    • Next
    Loading...
    import { Component } from '@angular/core';
    import { RouterLink } from '@angular/router';
    import { PageItemDirective, PageLinkDirective, PaginationComponent } from '@coreui/angular';
    
    @Component({
      selector: 'docs-pagination06-example',
      templateUrl: './pagination06.component.html',
      standalone: true,
      imports: [
        PaginationComponent,
        PageItemDirective,
        PageLinkDirective,
        RouterLink
      ]
    })
    export class Pagination06Component {}
    

    Alignment

    Change the alignment of pagination components with flexbox utilities.

    • Previous
    • 1
    • 2
    • 3
    • Next
    Loading...
    import { Component } from '@angular/core';
    import { RouterLink } from '@angular/router';
    import { PageItemDirective, PageLinkDirective, PaginationComponent } from '@coreui/angular';
    
    @Component({
      selector: 'docs-pagination07-example',
      templateUrl: './pagination07.component.html',
      standalone: true,
      imports: [
        PaginationComponent,
        PageItemDirective,
        PageLinkDirective,
        RouterLink
      ]
    })
    export class Pagination07Component {}
    
    • Previous
    • 1
    • 2
    • 3
    • Next
    Loading...
    import { Component } from '@angular/core';
    import { RouterLink } from '@angular/router';
    import { PageItemDirective, PageLinkDirective, PaginationComponent } from '@coreui/angular';
    
    @Component({
      selector: 'docs-pagination08-example',
      templateUrl: './pagination08.component.html',
      standalone: true,
      imports: [
        PaginationComponent,
        PageItemDirective,
        PageLinkDirective,
        RouterLink
      ]
    })
    export class Pagination08Component {}
    

    API

    Pagination Module

    import { PaginationModule } from '@coreui/angular';
    
    @NgModule({
     imports: [PaginationModule,]
    })
    export class AppModule(){}
    

    c-pagination

    component

    namedescriptiontypedefault
    alignSet the alignment of pagination components."" | "start" | "end" | "center"''
    roleDefault role for pagination.string'navigation'
    sizeSize the component small or large."sm" | "lg"

    c-page-item

    component

    cPageItem

    directive

    Inputs

    namedescriptiontypedefault
    activeToggle the active state for the component.boolean
    disabledToggle the disabled state for the component.boolean

    c-page-link

    directive

    • Twitter
    • Support
    • CoreUI (Vanilla)
    • CoreUI for React.js
    • CoreUI for Vue.js

    CoreUI for Angular is Open Source UI Components Library for Angular.

    Currently v5.5.2 Code licensed MIT , docs CC BY 3.0 .
    CoreUI PRO requires a commercial license.