If you have too much data to display in one page, use pagination.

Basic usage

Number of pagers

Buttons with background color

Small Pagination

Use small pagination in the case of limited space.

Hide pagination when there is only one page

When there is only one page, hide the pagination by setting the hide-on-single-page attribute.

More elements

Add more modules based on your scenario.


NameDescriptionTypeAccepted ValuesDefault
smallwhether to use small paginationbooleanfalse
backgroundwhether the buttons have a background colorbooleanfalse
page-sizeitem count of each page, supports the v-model bidirectional bindingnumber10
default-page-sizedefault initial value of page sizenumber--
totaltotal item countnumber
page-counttotal page count. Set either total or page-count and pages will be displayed; if you need page-sizes, total is requirednumber
pager-countnumber of pagers. Pagination collapses when the total page count exceeds this valuenumber(odd number between 5 and 21)7
current-pagecurrent page number, supports the v-model bidirectional bindingnumber1
default-current-pagedefault initial value of current-pagenumber--
layoutlayout of Pagination, elements separated with a commastringsizes / prev / pager / next / jumper / -> / total / slot'prev, pager, next, jumper, ->, total'
page-sizesoptions of item count per pagenumber[][10, 20, 30, 40, 50, 100]
popper-classcustom class name for the page size Select's dropdownstring
prev-texttext for the prev buttonstring
prev-iconicon for the prev button, higher priority of prev-textstring | ComponentArrowLeft
next-texttext for the next buttonstring
next-iconicon for the next button, higher priority of next-textstring | ComponentArrowRight
disabledwhether Pagination is disabledbooleanfalse
hide-on-single-pagewhether to hide when there's only one pageboolean-


We'll detect some deprecated usages, if your pagination don't appeared or worked as expected, please check rules below:

  • You have to define one of total and page-count, otherwise we can't determine count of total pages.When both defined, page-count taken as priority.
  • If current-page is defined, you have to listen current-page change, by also define @update:current-page, otherwise pagination didn't work.
  • If page-size is defined while page size selector displayed(sizes included in layout), you have to listen page-size change as well, by define @update:page-size, otherwise change of page size didn't work.


size-changetriggers when page-size changesthe new page size
current-changetriggers when current-page changesthe new current page
prev-clicktriggers when the prev button is clicked and current page changesthe new current page
next-clicktriggers when the next button is clicked and current page changesthe new current page


Events above are not recommended(but are still supported for compatible reason), better choice is to use the two-way data binding by v-model.


custom content. To use this, you need to declare slot in layout