vue-bulma-pagination-2

A bulma enabled vue.js 2 pagination component
607
Install
npm install vue-bulma-pagination-2
Latest Version:0.5.9
Vue:2
Last Updated:Jun 27, 2017
Links: GitHub  ·  npm
Maintainer: daenuprobst

Vue Pagination 2

Note: This package is for use with Vuejs 2. For version 1 please use v-pagination instead.

Simple, generic and non-intrusive pagination component for Vue.js version 2. Presentation is based on bootstrap.

Dependencies

  • Vue.js (>=2.0.0-rc.1). Required.
  • Bootstrap (CSS). Optional.

Installation

npm install vue-pagination-2

import the script:

import {Pagination, PaginationEvent} from 'vue-pagination-2';

Usage

Register the component globally or locally:

Vue.component('pagination', Pagination);

OR

...
components: {
  Pagination
}
...

HTML:

<pagination for="some-entity" :records="500"></pagination>

props:

  • for string required unique identifier for the component instance.

  • records number required number of records

  • per-page number optional records per page. Default: 25

  • chunk number optional max pages per chunk. Default: 10

  • vuex boolean optional Use vuex to manage state

  • count-text string optional total records text. It can consist of up to 3 parts, divided by |.

    • First part: used when there are multiple pages
    • Second part: used when there is only one page
    • Third part: used when there is only one record.

    Default: Showing {from} to {to} of {count} records|{count} records|One record

Handle page selection

Event bus

When a page is selected an event will be dispatched, using the unique id for the component. Listen to it on your bus and respond accordingly:

  PaginationEvent.$on('vue-pagination::some-entity', function(page) {
      // display the relevant records using the page param
  });

Vuex (>=2.0.0)

The component will register a module on your store using the for prop as the name. The module will have a page property that will contain the current page. vue-devtools will give you a nice overview of the data structure.

If you want to latch on to an existing module on your store, use its name in the for prop and manuaully add the following to you store:

{
  myModule:{
    state:{
    ```
      page: 1
    ```
  },
  mutations: {
       ```
       ['myModule/PAGINATE'](https://github.com/daenuprobst/vue-pagination-2/blob/HEAD/state, page) {
              state.page = page
          }
      ```
    }
  }

Programmatic Manipulation

To programmatically set the page apply a ref identifier to the component and use one of the following methods:

  • setPage(page)
  • next()
  • prev()
  • nextChunk()
  • prevChunk()

All methods return true if the page is legal and was thus set, or false otherwise.

Computed Properties

  • totalPages
  • totalChunks
  • currentChunk

Related Packages

vue-pagination-2

Vue.js 2 pagination component

1,088,836 186
vue-bulma-pagination

Pagination component for Vue Bulma

2,405 13
vuejs-paginate

A simple pagination component for Vue.js

1,264,788 765
v-pagination-3

Vue.js 3 pagination component

823,217 186
vuejs-paginate-next

A simple Vue3 pagination component.

795,954 43

Version History

Version Released Vue License
0.5.9 >=2.0.0
0.5.8 >=2.0.0
0.5.7 >=2.0.0
0.5.6 >=2.0.0
0.5.5 >=2.0.0